分子の座標に基づいて特定のビンに入る分子の数を数えようとしていました。私はnumpyの非ゼロオプション(MATLABのfind()に似ています)が仕事をすることができると思います。最初は、私はnp.anyを使用していないが、私はnp.anyを使用すると、私はエラーに座標に基づいてビンに入るカウント数
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all().
を持って、エラーが持続します。
Lower limit = 0
bin_size=0.01
box=40
NO_bin= box/bin_size
for k in range(No_bins):
if k==0:
count = np.any(np.size(np.nonzero(data_matrix[:,3]>= k*bin_size+lower_limit and \
data_matrix[:,3]<=(k+1)*bin_size+lower_limit)))
else:
count = np.any(np.size(np.nonzero(data_matrix[:,3]>=(k-1)*bin_size+lower_limit and \
data_matrix[:,3]<=k*bin_size+lower_limit)))
Atom_in_bin[j,2] = Atom_in_bin[j,2] + count