【发布时间】:2020-05-19 20:51:24
【问题描述】:
我想使用Matplotlib 可视化每日数据。数据是温度与时间的关系,格式如下:
Time Temperature
1 8:23:04 18.5
2 8:23:04 19.0
3 9:12:57 19.0
4 9:12:57 20.0
... ... ...
但是在绘制图形时,x-axis 上的 Time 值会失真,如下所示:
意识到Matplotlib 可能无法正确解释时间数据,我使用pd.to_datetime 转换了时间格式:
df['Time'] = pd.to_datetime(df['Time'], format="%H:%M:%S")
df.plot( 'Time', 'Temperature',figsize=(20, 10))
df.describe()
如何让x-axis上的时间看起来正常?谢谢
【问题讨论】:
-
df.dtypes的输出是什么? -
@MichaelO.
Time:object; Temperature: float64; dtype: object -
是什么给了
df.iloc[0, 0]? -
@MichaelO。它返回了
'17:29:33'。 -
所以
Time的格式错误,因为它应该返回类似Timestamp('1900-01-01 08:23:04')的内容。此外,由于您有 17 小时和 08 小时的时间,看起来您的时间列包含超过一天,因此您应该将年、月和日添加到数据中。
标签: python pandas numpy matplotlib time