に依存して私は、バイナリデータを読み取るためのmemmapを持っている(> 1000年>> 1000個のファイルがそれぞれを記録)numpyのmemmapでカウント、基準は二つのフィールド
f = np.memmap('data.dat', dtype= myFormat, mode= 'r')
と応じた条件を満足するレコードをカウントする方法を知っています(myFormatの 'ステータス' という名前の)単一のフィールドに:
eval = f['Status'] & 0x20 == 0x20
nNotEval = np.count_nonzero(eval == False)
別のフィールドは、evalの上で条件付きで使用されます。
v = calibration * f['V'][eval]
今、要素的に2つの条件を結合する方法は?次failes:「複数の要素を持つ配列の真理値があいまいである」と「使用a.any()またはa.allを()」を示しているが、それが何でない
unexpected = (f['Status'] & 0x02 == 0) and (v > 15.)
Pythonの抗議私が必要です
nUnexpected = np.count_nonzero(unexpected)
私は反復する必要がありますか?もしそうなら、構文はどうですか? for (a,b) in ...
のようなもの?
ありがとうございました。 &私のために働く。そして、私はSOを逐語的なエラーメッセージのために探していたはずです。 – Rainald62
申し訳ありませんが、私は適切なテストの前に答えを受け入れました。 &が1つのケースで動作しましたが、次のエラーメッセージが表示されます:ValueError:オペランドを図形(682、)(674、)と一緒にブロードキャストできませんでした。 – Rainald62
682は 'e 'の' f [' Status ']と '0x02 == 0'の' len'と 'f [' V ']'の 'len'です。長さは操作f ['V'] [eval] 'で674になります。 – Rainald62