1

毎秒 10 個のデータ ポイントを持つ時間の配列と、各時間に対応する強度値の配列で構成されるデータがあります。したがって、例として、私が持っているとしましょう:

times = np.arange(0,100,0.1)
intensities = np.random.rand(len(times))

より長い平均時間を使用した場合にデータがどのように見えるかを確認したいので、1 秒、5 秒、10 秒などのいくつかのビンを作成し、それらの新しいビンの強度値を平均します。numpyでこれを行う最良の方法は何ですか? (または他のpythonパッケージですが、numpy/scipyに何かがあると思います。)forループを使用できますが、もっと良い方法があることを願っています。ありがとう!

4

2 に答える 2

6

convolvestackoverflow here で述べたように、移動平均を計算できます。

from pylab import plot, show
import numpy as np

times = np.arange(0,100,0.1)
intensities = np.random.rand(len(times))

def window(size):
    return np.ones(size)/float(size)

plot(times,intensities,'k.')
plot(times,np.convolve(intensities,window(10),'same'),'r')
plot(times,np.convolve(intensities,window(100),'same'),'b')
show()

ここに画像の説明を入力

于 2013-04-11T22:56:24.677 に答える