如何用Python从格式为‘October 1, 2020 (United States)’的列中提取年份?
提取日期列中年份的简洁方法
针对格式为October 1, 2020 (United States)的列,不用拆分合并DataFrame,这几种方法能快速提取年份:
正则表达式直接匹配四位年份:利用年份是连续四位数字的特点,直接提取,不受月份长度影响
df['year'] = df['date_column'].str.extract(r'(\d{4})')正则
\d{4}会精准匹配字符串里的四位数字,刚好对应年份。按逗号分割提取:借助日期格式的结构(年份在第二个逗号后),分割后取对应部分切片
df['year'] = df['date_column'].str.split(',').str[1].str.strip().str[:4]先按逗号把字符串拆分成两部分,取第二部分后去掉首尾空格,再截取前四位就是年份。
转日期格式提取(适合标准日期前缀):如果前面的日期部分是可识别的格式,转成datetime类型后直接提取年份
import pandas as pd df['year'] = pd.to_datetime(df['date_column'].str.split('(').str[0].strip()).dt.year先把括号前的日期部分拆分出来,转成datetime对象,再调用
dt.year拿到年份。
这些方法都能直接在原DataFrame生成新列,不用额外拆分合并操作,代码简洁高效。
内容的提问来源于stack exchange,提问作者Pranav
相关产品推荐
相关产品推荐

