首页 > 解决方案 > 在熊猫中将日期字符串 YYYY-MM-DD 转换为 YYYYMM

问题描述

pandas 有没有办法将我的列日期(格式为“1997-01-31”)转换为“199701”,而不包括有关日期的任何信息?

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

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

但我收到此错误:'ValueError:时间数据'1997-01-31'与格式'%Y%m'不匹配

可能原因是我没有在格式中包含日期。有没有更好的方法从 YYYY-MM_DD 格式传递到熊猫中的 YYYYMM ?

标签: pythonpandasdate

解决方案


一种方法是将日期转换为日期时间,然后使用 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

推荐阅读