Python。如何从一个日期中提取年份

0 人关注

我有一个pandas数据框架,在其中一列有日期,例如,1/7/13。我想从中提取出年份。我该怎么做呢?

I've tried

years_2 = df3.pivot_table(index=['ACCIDENT_DATE'], aggfunc ='size')

print(years_2)

但我得到了日期的重复性,但我想只计算一个年份的发生次数。类似这样的情况。

2013 1000

2014 59882

2015 23232

python
kunal4014
kunal4014
发布于 2020-08-20
3 个回答
maede rayati
maede rayati
发布于 2020-08-20
已采纳
0 人赞同

datetime.strptime将根据你想要的格式将一个字符串转换为日期时间对象。然后你可以从这个对象中获得年份属性,如下所示。

from datetime import datetime
datetime.strptime('1/7/13', '%d/%m/%y').year
    
在这之后,@kunal4014需要做一个for循环,通过制作一个 year : occurrence 的字典来计算年份的出现次数。
RichieV
RichieV
发布于 2020-08-20
0 人赞同

如果 df3.ACCIDENT_DATE 是dtype datetime,那么你可以用 .dt 访问器来获取日期的组成部分

d = df3.ACCIDENT_DATE
# return series of dtype int
year = d.dt.year
month = d.dt.month
day = d.dt.day

如果它有一个时间成分

# return series of dtype datetime
date_ = d.dt.date
time_ = d.dt.time
# return series of dtype int
h = d.dt.hour
m = d.dt.minute

还有许多人在docs

Rajith Thennakoon
Rajith Thennakoon
发布于 2020-08-20
0 人赞同

你可以使用 价值_计数 函数,以获得当年发生的次数。

years_2["ACCIDENT_DATE"] = pd.to_datetime(years_2["ACCIDENT_DATE"])