【问题标题】:True X/Y plot for a pandas series熊猫系列的真实 X/Y 图
【发布时间】:2014-12-19 11:02:05
【问题描述】:

我有一个带有日期/值的熊猫系列,其中日期间隔不均匀,例如:

DATE
2014-12-04         0.000000
2014-12-05    250556.619700
2014-12-10    357143.631767
2014-12-20    435740.234867
...

我试图获得一个真正的 X/Y 图,其中日期的间距反映在 x 轴上,但我找不到简单的解决方案。

我当然可以将日期转换为从 1970 年开始的天数(无论如何)并绘制 X/Y 图,但我希望有一个更优雅的解决方案。

【问题讨论】:

  • 是日期字符串还是时间戳对象?
  • 非常好的问题。我从 CSV 文件导入数据并将第一列设置为 read_csv 中的索引。当我打印 df.dtypes 时,我没有得到索引列的类型。
  • 好吧,如果它们是 Timestamp 对象,那么它会完全按照您的意愿行事。因此,情节将根据日期之间的差异进行间隔。所以我猜在这种情况下它们是字符串。
  • 尝试将parse_dates=[0] 添加到pd.read_csv 命令。假设日期当然是索引 0。
  • 你应该也可以使用df['DATE'] = pd.to_datetime(df['DATE'])进行转换

标签: python matplotlib pandas


【解决方案1】:

看起来您的日期不是Timestamp 对象,而是字符串。如果您将它们转换为 Timestamp 对象,那么它将正确绘制,它会因日期间距不均匀而绘制不均匀。

要在使用 pd.read_csv 时解析列,您可以传递关键字参数 parse_dates=[0](假设您的日期在第 0 列中)。

【讨论】:

    猜你喜欢
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    • 2014-02-24
    • 1970-01-01
    • 2019-01-22
    • 1970-01-01
    相关资源
    最近更新 更多