python numpyのwhereで複数の条件をつける
numpyのwhereで複数条件にするときは、それぞれの条件をちゃんと()でくくる!
初歩的な文法をわかりきってないからこうなる・・・
import numpy as np import scipy as sp import matplotlib.pyplot as plt import sys filename=sys.argv[1] data=np.loadtxt(filename,delimiter=' ', dtype={'names':('code','pow','alpha','k', 'xyz','normal','z','normal2','z2'), 'formats':('S4','S3','S3','i4', 'f8','f8','f8','f8','f8')}) for alpha in np.unique(data['alpha']) : for pow in np.unique(data['pow']) : print data[np.where((data['alpha']==alpha) & (data['pow']==pow))]