【问题标题】:How do I convert a pandas column of datetime64 objects to the year? [duplicate]如何将 datetime64 对象的 pandas 列转换为年份? [复制]
【发布时间】:2020-05-25 08:45:19
【问题描述】:

我正在使用其中一列是 datetime64 对象的 pandas 数据框。我需要绘制每年行数的条形图,并将数据框切片为一个月范围(例如 2011 年 1 月至 2011 年 3 月)。我想我可以添加一个仅包含年份或月份的列,但我该怎么做呢?

我跑了

df['year'], df['month'] = df['date'].dt.year, df['date'].dt.month
df

但出现 AttributeError: Can only use .dt accessor with datetimelike values

【问题讨论】:

  • 不,不工作。得到一个很长的例外,我会在问题中发布它。
  • 嗯好的。我从笔记本中重新运行了一些代码,它似乎运行良好 - 所以我猜这是因为当我遇到异常时,我没有重新运行 to_datetime 的转换

标签: pandas datetime64


【解决方案1】:

有效的是,正如其他问题中所回答的那样:

df['date'] = pd.to_datetime(df['date'])
df['year'], df['month'] = df['date'].dt.year, df['date'].dt.month

让我的情况有所不同的是,我昨晚在 Jupyter 笔记本上完成了我的工作,然后就睡觉了。因此,当我再次启动计算机时,包含将我的日期时间列转换为datetime64 对象的代码行并没有运行。傻我。在我重新运行它们之后,代码就起作用了。

【讨论】:

  • 你好瑞恩!请勾选绿色勾号将问题标记为已关闭。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-05
  • 2020-04-28
  • 2020-12-05
  • 1970-01-01
  • 2019-11-27
  • 2014-01-08
  • 1970-01-01
相关资源
最近更新 更多