熊猫-TimeSeries到每月系列图

时间:2018-08-08 18:59:28

标签: python pandas

我有一个简单的时间序列,可以观察2年以上的时间。我基本上想绘制该系列每个月的每日日期(查看每个月发生的每日季节性)。例如:

enter image description here

我希望每个月在图表上都有一个系列。有没有一种方法可以轻松拆分数据帧来做到这一点?

我试图避免每个月/每年都这样做...

df['JUN-2016'] = data[df['date'].month==12 & df['date'].year==2016]

数据框示例:

DATE    
2015-01-05  2.7483
2015-01-06  2.7400
2015-01-07  2.7250
2015-01-08  2.7350
2015-01-09  2.7350
2015-01-12  2.7350
2015-01-13  2.7450
2015-01-14  2.7450
2015-01-15  2.7350
2015-01-16  2.7183
2015-01-19  2.7300
2015-01-20  2.7150
2015-01-21  2.7150
2015-01-22  2.6550
2015-01-23  2.6500
2015-01-27  2.6450
2015-01-28  2.6350
2015-01-29  2.6100
2015-01-30  2.5600
2015-02-02  2.4783
2015-02-03  2.4700

1 个答案:

答案 0 :(得分:1)

首先,您需要将数据框中包含所有日期的列(假设它称为df["dates"])转换为datetimeformat:

df["date"]=pd.to_datetime(df["date"])

还需要导入日期时间库:

from datetime import datetime

然后您可以做:

startDateOfInterval = "2016-05-31"
endDateOfInterval = "2016-07-01"

dfOfDesiredMonth = df[df["date"].apply(lambda x: x > datetime.strptime(startDateOfInterval, "%Y-%m-%d") and x < datetime.strptime(endDateOfInterval, "%Y-%m-%d"))]

您将获得的df仅包含在此间隔内具有日期的行。