やりたいこと:hdfファイルから特定の条件の要素インデックスを抜き出したい
コードは以下の通りです
python
1 2import h5py 3import numpy as np 4 5list_x = [] 6hdf5 = h5py.File("file.hdf5", 'r') 7list_x.append(hdf5["element"].value) 8kx=[i for i, x in enumerate(list_x) if x>=1.20] 9print kx
しかしこれを実行すると
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
となってしまいます。
同じようなコードで以下のように
python
1l = [0,2,4,6,8,10,12,14,16,18,20] 2k = [i for i, x in enumerate(l) if x>=7] 3print k
とした場合はうまくいきます。
ちなみにlistx自体は[array([0.00487485, 0.00433188, 0.00775934, ..., 2.41448833, 2.4281996 ,
2.18475548])]ときちんと表示されます。
追記
python
1 2import h5py 3import numpy as np 4 5list_x = [] 6hdf5 = h5py.File("file.hdf5", 'r') 7list_x.append(hdf5["element"].value.tolist()) 8kx=[i for i, x in enumerate(list_x) if x>=1.20] 9print kx
としたところ、ValueErrorはなくなりましたがなぜかkx=[0]として出力されてしまいました。
listxは [[0.004874852897055942, 0.004331883619069696, 0.007759342406517044, 0.005400434928618646,(中略)2.5193041696337652, 2.496981794815226, 2.4144883270449116, 2.4281996030089283, 2.184755482058809]]となっています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/29 07:35
2018/11/29 07:42
2018/11/29 07:46