首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python绘图中值

Python绘图中值
EN

Stack Overflow用户
提问于 2013-02-19 04:35:33
回答 2查看 5.3K关注 0票数 2

我是第一次接触Numpy和matplotlib。

我有一些数据想要根据日期绘制,我只想绘制出每个日期的中位数。每个日期的数据点数量是不同的。

我创建了一个二维numpy数组,如下所示:

代码语言:javascript
复制
[[date1, v1], [date1, v2], [date2, v3], [date3, v4], [date3, v5], [date3, v6]] 

等等……

现在我迷失了。如何绘制每日中位数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-19 14:21:17

对于时间序列,我强烈建议使用基于numpypandas

它有一些方便的方法来处理像您这样的问题。

代码语言:javascript
复制
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>

票数 2
EN

Stack Overflow用户

发布于 2013-02-19 04:39:08

对于median,只需使用numpy.median:

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

对于日期,请查看matplotlib日期文档:

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

下面是一个简单的dates演示,可能会对您有所帮助:

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

如果你在看完这些之后仍然卡住了,试着发布一些你的代码或者问一个更具体的问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14944851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档