Skip to main content
 首页 » 编程设计

python之在 Pandas 中将日期字符串 YYYY-MM-DD 转换为 YYYYMM

2025年05月04日22insus

pandas 中是否有一种方法可以将格式为“1997-01-31”的列日期转换为“199701”,而不包括有关日期的任何信息?

我尝试了以下形式的解决方案:

df['DATE'] = df['DATE'].apply(lambda x: datetime.strptime(x, '%Y%m'))

但我得到这个错误:'ValueError: time data '1997-01-31' does not match format '%Y%m''

可能是因为我没有在格式中包含日期。有没有更好的方法将 Pandas 中的 YYYY-MM_DD 格式传递给 YYYYMM?

请您参考如下方法:

一种方法是将日期转换为日期时间,然后使用 strftime。请注意,您确实失去了日期的日期时间功能

df = pd.DataFrame({'date':['1997-01-31' ]}) 
df['date'] = pd.to_datetime(df['date']) 
df['date'] = df['date'].dt.strftime('%Y%m') 
 
 
    date 
0   199701