如何用Python为DataFrame日期列设置正确的当前年份?
解决方案
当使用pd.to_datetime处理仅包含月日(%m/%d)的日期字符串时,pandas会默认将年份设为1900,要替换为当前年份可以用以下两种方法:
方法一:转换后替换年份
先完成日期格式转换,再将年份替换为当前年份:
import pandas as pd from datetime import datetime # 转换为日期格式(默认年份1900) date['Fecha'] = pd.to_datetime(date['Fecha'], format='%m/%d') # 获取当前年份 current_year = datetime.now().year # 替换日期中的年份 date['Fecha'] = date['Fecha'].apply(lambda dt: dt.replace(year=current_year))
方法二:转换前拼接年份
先给原始日期字符串拼接当前年份,再统一转换为日期格式:
import pandas as pd from datetime import datetime current_year = datetime.now().year # 拼接年份后转换,确保格式匹配 date['Fecha'] = pd.to_datetime(f"{current_year}/" + date['Fecha'], format='%Y/%m/%d')
也可以用pandas自带的时间工具获取当前年份:
current_year = pd.Timestamp.now().year
内容的提问来源于stack exchange,提问作者Breik
相关产品推荐
相关产品推荐

