python - 在熊猫中将日期字符串 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 ?
解决方案
一种方法是将日期转换为日期时间,然后使用 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
推荐阅读
- python-3.x - 以下查询中的错误是什么?
- oracle - dbms_aq.dequeue 是否应该永远循环?
- php - 将表中的所有 td 值(数字)乘以 3.8
- c# - 根据条件选择班次
- php - 如何防止用户通过网络选项卡读取参数和响应?
- unity3d - 如何在 Unity 中正确显示高棉文本
- r - 如果我想要一个线性回归模型而不是“mlm”怎么办?
- c - 我继续使用我在 codechef 初级上的代码
- java - 摆脱 Unchecked 覆盖:返回类型需要未经检查的转换
- python - 代码在 jupyter notebook 中打印不正确的输出,而它在在线 IDE 上正确运行