【问题标题】:Trouble plotting pandas DataFrame无法绘制熊猫数据框
【发布时间】:2015-02-04 00:51:15
【问题描述】:

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

【问题讨论】:

    标签: python python-2.7 numpy matplotlib pandas


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      那么您应该能够将数据绘制为:

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

      【讨论】:

        猜你喜欢
        • 2016-01-07
        • 2017-10-10
        • 2020-01-14
        • 2017-05-28
        • 2017-06-09
        • 2018-02-10
        • 2022-01-08
        • 1970-01-01
        • 2019-12-14
        相关资源
        最近更新 更多