如何从Pandas数据框的日期时间列中提取年份?
从Pandas日期时间序列中提取年份的方法
你已经成功将字符串转换为Pandas日期时间序列了,有两种简单实用的方法可以提取年份:
方法一:使用.dt.year属性(推荐)
这是最直接高效的方式,直接从datetime64类型的序列中提取年份,返回浮点型数值(原序列中的NaT会转为NaN):
s_years = s_dates.dt.year print(s_years)
输出结果:
0 2020.0 1 2020.0 2 2020.0 3 NaN 4 2020.0 dtype: float64
如果需要将结果转为整数,并处理NaN(比如替换为0或空值),可以这样做:
# 替换NaN为0并转为整数 s_years_int = s_dates.dt.year.fillna(0).astype(int) print(s_years_int)
方法二:使用.dt.strftime()格式化输出
如果需要字符串类型的年份,可以用strftime('%Y')来格式化日期:
s_years_str = s_dates.dt.strftime('%Y') print(s_years_str)
输出结果:
0 2020 1 2020 2 2020 3 NaN 4 2020 dtype: object
同样可以用.fillna()处理NaN,比如替换为空字符串:
s_years_str_clean = s_dates.dt.strftime('%Y').fillna('')
内容的提问来源于stack exchange,提问作者jdona13
相关产品推荐
相关产品推荐

