time
2016-07-08 11:29:30
2016-07-08 11:30:02
现在我将它转换为datetime:
df['time2'] = pd.to_datetime(df['time'])
然后我想用matplotlib绘制它,但它不起作用:
plt.plot(df.['time'],df['y'])
我已经尝试将它转换为int,但是在绘图时我无法弄清楚如何格式化它
df['time_int'] = df['time2'].astype(np.int64)
任何帮助都是极好的!
解决方法:
我想你可以使用Series.plot
,所以从列时间开始set_index
:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({'y': {0: 1, 1: 2, 2: 4},
'time': {0: '2016-07-08 11:29:30', 1: '2016-07-08 11:30:02', 2: '2016-07-08 11:31:52'}})
print (df)
time y
0 2016-07-08 11:29:30 1
1 2016-07-08 11:30:02 2
2 2016-07-08 11:31:52 4
df['time'] = pd.to_datetime(df.time)
print (df.set_index('time').y)
time
2016-07-08 11:29:30 1
2016-07-08 11:30:02 2
2016-07-08 11:31:52 4
Name: y, dtype: int64
df.set_index('time').y.plot()
plt.show()
另一种解决方案是
df['time'] = pd.to_datetime(df.time)
df.plot(x='time', y='y')
plt.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。