【问题标题】:How to remove date and month from the column (type:datetime64) [duplicate]如何从列中删除日期和月份(类型:datetime64)[重复]
【发布时间】:2019-08-28 14:01:00
【问题描述】:

我有 10 列(dtype:datetime64)。我想从列中删除日期和月份,只保留年份。

10-01-1880 --> 想要删除日期和月份

期待 --> 1880

【问题讨论】:

  • df['column'].dt.year
  • @coldspeed ... 显示错误 df['year'].dt.year AttributeError: Can only use .dt accessor with datetimelike values
  • 通过观察,我可以断定该类型确实不是datetime64。请在下次发布之前验证此信息...现在,您可以使用pd.to_datetime(df['column'], errors='coerce').dt.year
  • @coldspeed... 我已经使用 pd.to_datetime 转换了我的列名称:年份,dtype:datetime64[ns].. 现在我使用了您的代码...它显示 l0 1970 1 1970 2 1970 3 1970 4 1970 5 1970 6 1970 7 1970 8 1970 9 1970 10 1970 11 1970 12 1970 13 1970 14 1970 15 1970 16 1970 名称:年份,dtype:int64
  • @coldspeed.. 我的列有 25 行的日期-月-年.. 我想删除日期和月份并保留年份..

标签: python-3.x


【解决方案1】:

这应该可以解决问题。我正在使用日期时间模块https://docs.python.org/3/library/datetime.html

from datetime import datetime

#Convert string to datetime object
datetime_object = datetime.strptime('10-01-1880', '%d-%m-%Y')
#Extract year
print(datetime_object.day)
print(datetime_object.month)
print(datetime_object.year)
#10
#1
#1880

【讨论】:

  • 谢谢。如果我想做整个专栏,它是如何工作的?
  • 您是指日期、月份和年份?
  • 是的。我想为整个专栏做
  • 完成请检查
猜你喜欢
  • 2017-06-13
  • 2021-08-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-29
  • 1970-01-01
  • 2019-04-29
  • 2019-02-06
  • 2015-03-29
相关资源
最近更新 更多