【问题标题】:Pandas Dataframe Plot熊猫数据框图
【发布时间】:2015-07-08 17:46:24
【问题描述】:

我正在尝试绘制时间序列数据。数据框看起来像这样

[1]:Index  ship_date  cost_amount 
    0       1/8/2010  34276 
    1       1/8/2010  12375 
    2       1/8/2011  12343 
    3       2/9/2011  15435

[2]: df1.plot(figsize(20,5))

我正在尝试绘制数据,但由于某种原因,绘图没有按升序排列的 x 轴。如何获得日期升序或降序的情节?

【问题讨论】:

  • 我猜它没有顺序。如果你看到 x 中的第一个点是 2011 年,然后是 2010 年,一段时间后又是 2010 年。
  • 那是您用来生成该图的确切代码吗?因为它看起来不像。
  • 看起来该数据框中的日期是字符串,而不是日期,在一个问题...标签按字典升序排列...
  • 尝试将ship_date 列转换为日期时间:df1['ship_date'] = pd.to_datetime(df1['ship_date'])
  • 哎呀..对不起..我忘了再写一行。由于数据有重复的日期,我将它们分组为df1 = df1.groupby('Ship Date').sum(),这使得发货日期成为 df1 的索引

标签: python pandas time-series ipython-notebook


【解决方案1】:

您的问题(由@J Richard Snape 发现)是您的日期实际上是字符串,因此它是按字典顺序排列的。

您应该转换为 datetime dtype:

df1['Ship_date'] = pd.to_datetime(df1['Ship_date'])

之后它应该保持预期的顺序。

【讨论】:

    猜你喜欢
    • 2013-08-16
    • 2022-01-15
    • 2019-05-03
    • 2016-06-05
    • 2021-11-09
    相关资源
    最近更新 更多