无法绘制pandas DataFrame

时间:2014-12-05 19:00:50

标签: python python-2.7 numpy matplotlib pandas

我有一个有2列的pandas DataFrame,其中一列是这种格式的日期列表:' 4-Dec-14'另一列是数字列表。我想绘制一个图表,其中包含x轴上的日期和与y轴上的日期对应的数字。散点图或折线图。我试图按照Matplotlib上的教程http://matplotlib.org/users/recipes.html'修复常见日期烦恼'但它不接受我的日期格式。当我尝试使用plot函数时,它会返回错误:ValueError: invalid literal for float(): 4-Dec-14。我如何更改日期格式以便它可以正常工作。或者是否有其他方法可以绘制此DataFrame。感谢

2 个答案:

答案 0 :(得分:4)

您应该首先将日期列中的字符串转换为实际的日期时间值:

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

然后您可以通过将日期设置为索引来绘制它:

df = df.set_index('date')
df['y'].plot()

或在图中指定x和y:

df.plot(x='date', y='y')

答案 1 :(得分:1)

尝试将日期列转换为日期索引。尝试这样的事情:

df.index=pd.to_datetime(df.yourdatecolumn,format='%d-%b-%y')

然后您应该能够将数据绘制为:

plt.plot(df.index, df.yournumbercolumn)