2

Numpyとmatplotlibは初めてです。

日付に対してプロットしたいデータがいくつかあり、各日付の中央値のみをプロットしたいと思います。各日付のデータポイントの数は異なります。

私は次のような2次元のnumpy配列を作成しました:

[[date1, v1], [date1, v2], [date2, v3], [date3, v4], [date3, v5], [date3, v6]] 

等....

今、私は迷子になっています。毎日の中央値をプロットするにはどうすればよいですか?

4

2 に答える 2

2

中央値には、numpy.medianを使用します。

http://docs.scipy.org/doc/numpy/reference/generated/numpy.median.html

日付については、matplotlibの日付のドキュメントを参照してください。

http://matplotlib.org/api/dates_api.html

これがあなたを助けるかもしれない簡単な日付のデモです:

http://matplotlib.org/examples/api/date_demo.html

これらを確認しても問題が解決しない場合は、コードを投稿するか、より具体的な質問をしてみてください。

于 2013-02-18T20:39:08.317 に答える
2

時系列についてpandasは、に基づくものを使用することを強くお勧めしますnumpy

それはあなたのような問題に対処するためのいくつかの便利な方法を持っています。

In [5]: import pandas as pd

# generate some data
In [6]: idx = pd.date_range('2013-01-01', pd.datetime.today(), freq='H')

In [7]: s = pd.Series(np.random.random_sample(idx.size) * 1000, index=idx)

In [8]: s.describe() # print some statistics 
Out[8]: 
count    1184.000000
mean      499.817905
std       291.446537
min         0.292728
25%       252.537037
50%       485.828521
75%       758.535148
max       999.681320

In [9]: s.index
Out[9]: 
<class 'pandas.tseries.index.DatetimeIndex'>
[2013-01-01 00:00:00, ..., 2013-02-19 07:00:00]
Length: 1184, Freq: H, Timezone: None

# downsample to daily using median value for a day and plot it
In [10]: s.resample('D', how='median').plot()
Out[10]: <matplotlib.axes.AxesSubplot at 0x3d88ad0>

pandas_example

于 2013-02-19T06:21:17.303 に答える