【发布时间】:2016-02-09 06:16:52
【问题描述】:
我正在尝试绘制从晚上 9 点到第二天下午 6 点的时间序列数据。这是我失败的尝试。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from datetime import time
a=np.array([35,25,24,25,27,28,30,35])
df=pd.DataFrame(index=pd.date_range("00:00", "23:00", freq="3H").time,data={'column1':a})
column1
00:00:00 35
03:00:00 25
06:00:00 24
09:00:00 25
12:00:00 27
15:00:00 28
18:00:00 30
21:00:00 35
重新索引数据以从 21:00 到 18:00。也许还有更好的方法来实现这部分,但这很有效。
df=df.reindex(np.concatenate([df.loc[time(21,00):].index,df.loc[:time(21,00)].index[:-1]]))
column1
21:00:00 35
00:00:00 35
03:00:00 25
06:00:00 24
09:00:00 25
12:00:00 27
15:00:00 28
18:00:00 30
plt.plot(df.index,df['column1'])
x 轴似乎与 df.index 不匹配。轴也从 00:00 而不是 21:00 开始。有谁知道不涉及在 x 轴上使用字符串标签的解决方案?
【问题讨论】:
标签: python datetime numpy pandas matplotlib