私はこれに対するエレガントな解決策を探しています:
data = np.loadtxt(file)
# data[:,0] is a time
# data[:,1] is what I want to extract
mean = 0.0
count = 0
for n in xrange(np.size(data[:,0])):
if data[n,0] >= tstart and data[n,0] <= tend:
mean = mean + data[n,1]
count = count + 1
mean = mean / float(count)
あるいは、最初に2D配列を抽出してから適用np.mean
することもできると思いますが、これをよりエレガントにするためのリスト内包表記の良さがあると思います(私はFORTRANのバックグラウンドから来ています...)。私は次のようなことを考えていましi
た(インデックスではないので明らかに間違っています):
np.mean([x for x in data[i,1] for i in data[:,0] if i >= tstart and i <= tend])