python-3.x 如何从Pandas数据框中获取年份?[duplicate]

mspsb9vt  于 2022-11-19  发布在  Python
关注(0)|答案(2)|浏览(136)

此问题在此处已有答案

python pandas extract year from datetime: df['year'] = df['date'].year is not working(5个答案)
2天前关闭。
所以我写了一些代码把一个字符串列表转换成日期时间:

s = pd.Series(["14 Nov 2020", "14/11/2020", "2020/11/14", 
          "Hello World", "Nov 14th, 2020"])
s_dates = pd.to_datetime(s, errors='coerce', exact=False)
print(s_dates)

它产生了以下输出:

0   2020-11-14
1   2020-11-14
2   2020-11-14
3          NaT
4   2020-11-14
dtype: datetime64[ns]

我怎么能从这里面得到年份呢?

qxsslcnc

qxsslcnc1#

由于序列dtype是datetime64[ns],因此可以直接使用

print(s_dates.dt.year)

这将返回仅包含日期的序列。
有关更有用的日期时间转换doc,请查看文档

vvppvyoh

vvppvyoh2#

假设您的年份始终为4位数,我们可以尝试在此处使用str.extract

s_dates["year"] = s_dates["dates_extracted"].str.extract(r'(\d{4})')

相关问题