2014-12-05 126 views
0

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

回答

4

你应该先转换成字符串日期列,实际datetime值:

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

然后你就可以绘制它,无论是通过设定日期索引:

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

或通过在图中指定x和y:

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

谢谢你,我得到它的工作 – benawad 2014-12-05 19:16:32

1

尝试将您的datecolumn转换为日期DEX。尝试是这样的:

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

那么你应该能够展现您的数据为:

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