pandas dataframe时间序列:每天的折线图

时间:2014-11-13 13:21:49

标签: python python-3.x pandas

首先:虽然在SPSS方面经验丰富,但我是Python和Pandas的绝对初学者。我正在努力学习它,因为我认为它更具灵活性和灵活性......

找不到傻瓜的Python论坛;)所以我希望你能帮忙...

我的问题: 我有一个每周期为5分钟的流量数据的数据帧:

In[37]: df.head(3)
Out[37]: 
                     RWS01_MONIBAS_0121hrr0070ra_speed  \
time                                                     
2014-09-29 15:00:00                         101.124752   
2014-09-29 15:05:00                         100.626442   
2014-09-29 15:10:00                         102.247742   

                     RWS01_MONIBAS_0121hrr0070ra_flow  \
time                                                     
2014-09-29 15:00:00                              1824   
2014-09-29 15:05:00                              2184   
2014-09-29 15:10:00                              1908   

In[38]: df.tail(3)
Out[38]: 
                     RWS01_MONIBAS_0121hrr0070ra_speed  \
time                                                     
2014-10-03 19:45:00                          99.089214   
2014-10-03 19:50:00                         101.561825   
2014-10-03 19:55:00                         101.178173   

                     RWS01_MONIBAS_0121hrr0070ra_flow  \
time                                                     
2014-10-03 19:45:00                               804   
2014-10-03 19:50:00                              1128   
2014-10-03 19:55:00                              1284   

数据框由多天组成(在此示例中为4,但这只是一个测试集),并按时编制索引。我要做的是按 date 拆分数据框,并按日期创建一个线图。

当我尝试从数据框中选择一个部件并使用df.plot创建一个图形时,无论我做什么,我都会得到一个包含所有日子的图表。我做错了什么?

代码的一部分:

df['day']=pd.DatetimeIndex(df['time']).day
#select a specific day
select=pd.Series(['23'])
df[df.day.isin(select)]
df.plot(kind='line',y=2)
plt.show()

先谢谢你的帮助, 尼尔斯

1 个答案:

答案 0 :(得分:0)

几个问题:

  1. 您正在绘制原始帧而不是过滤的

    DF [df.day.isin(选择)]。图(种类= '行',Y = 2)

  2. 日列是整数数据类型

    选择= pd.Series([23])

  3. 这是最好的起点 http://shop.oreilly.com/product/0636920023784.do