【问题标题】:Display only the Date not Date+Time [duplicate]仅显示日期而不是日期+时间 [重复]
【发布时间】:2021-07-24 23:27:06
【问题描述】:

我想绘制条形图。它显示了一天的钱。该图看起来不错,但它显示一天像这样“%y-%m-%d %h:%m:%s”。如果它只显示“%y-%m-%d”,那就太好了。

我的数据框如下所示:

            Erdtemp  Heizung   Money_H
DatumZeit                             
2021-04-28   4047.5       73  0.003613
2021-04-29  27469.4      504  0.024948
2021-04-30  27450.6      488  0.024156
2021-05-01  28186.3      420  0.020790
2021-05-02   9006.1       71  0.003515

我用这条线来绘制它:

Tab2_count.plot(kind='bar', y='Money_H', xlabel='Date', ylabel='Euro')

情节是这样的:

有什么简单的方法可以摆脱 00:00:00 吗?

【问题讨论】:

  • 对链接问题的一点补充;将绘图分配给变量ax 后,您可以设置标签,例如在你的情况下就像ax.set_xticklabels(Tab2_count.index.strftime('%Y-%m-%d').to_series())
  • 非常感谢。你的方式也完美无缺。 ax = Tab2_count.plot(kind='bar', y='Money_H', xlabel='Date', ylabel='Euro') ax.set_xticklabels(Tab2_count.index.strftime('%Y-%m-%d').to_series())

标签: python pandas date datetime plot


【解决方案1】:

您可以使用pandas.DatetimeIndex.date()DatetimeIndex 对象中获取日期部分。然后在绘图之前或之后使用它。

df.index = df.index.date

df.plot(kind='bar', y='Money_H', xlabel='Date', ylabel='Euro')

或者

axes = df.plot(kind='bar', y='Money_H', xlabel='Date', ylabel='Euro')

axes.set_xticklabels(df.index.date)

【讨论】:

  • 非常感谢,我尝试了第一种方法,它完美无缺:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-10
  • 2015-04-25
  • 2017-10-18
  • 2011-08-29
  • 2017-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多