如何从Pandas的date_time列中提取单独的年份值?
提取DateTime字段中的年份到新列
这里提供几种简单直接的解决方案:
优化字符串分割方式:你之前的
str.split返回了列表,只需取列表第一个元素即可:df['year'] = df["date_time"].str.split("-", n=1, expand=False).str[0]或者用
expand=True直接拆分出列,取第一列:df['year'] = df["date_time"].str.split("-", n=1, expand=True)[0]固定位置切片:因为年份是固定的前4位字符,直接切片效率更高:
df['year'] = df["date_time"].str[:4]转为datetime类型提取(推荐):如果后续还要做日期相关操作,先把字段转为datetime类型,再提取年份更稳妥,且得到的是数值类型,方便后续计算:
import pandas as pd df['date_time'] = pd.to_datetime(df['date_time']) df['year'] = df['date_time'].dt.year
内容的提问来源于stack exchange,提问作者preetix
相关产品推荐
相关产品推荐

