我是Python和大熊猫的新手。
我有一个数据集作为DataFrame加载到Python中。 DataFrame的索引是格式为“ 2018-01-01 00:00:00”的时间。我的数据集范围从“ 2018-01-01 00:00:00”到“ 2018-12-31 23:59:59”。数据列的列名称为“ X”。
我可以使用matplotlib绘制整个数据集:
plt.plot(data.index, data["X"])
但是,我想绘制时间序列的不同部分:1个月,6个月,2天,3秒等。
最好的方法是什么?
谢谢
答案 0 :(得分:1)
如果您想绘制一个月,可以这样做
data.loc['2018-02',"X"].plot()
6个月
data.loc['2018-02':'2018-08',"X"].plot()
相同的逻辑适用于其他范围
答案 1 :(得分:0)
您可能需要对索引再执行一个处理步骤,以确保您要处理的是日期时间对象而不是字符串。
new_data = (
data
.assign(datetime=lambda df: pandas.to_datetime(df.index))
.set_index('datetime')
)
new_data["X"].plot()
这应该使我们真正接近您想要的内容,但是我尚未在具有您日期格式的数据上对其进行过测试。