python - Pandas:一列中有多种日期格式
问题描述
我在一个 Pandas 系列(列)中有两种日期格式,需要标准化为一种格式(mmm dd & mm/dd/YY)
日期
1月3日
1月2日
1月1日
19 年 12 月 31 日
19 年 12 月 30 日
19 年 12 月 29 日
即使 Excel 也不会将 mmm dd 格式识别为日期格式。我可以使用 str.replace 将 mmm 更改为完整的月份:
df['Date'] = df['Date'].str.replace('Jan', 'January', regex=True)
但是如何添加当前年份?那么如何将 2020 年 1 月 1 日转换为 01/01/20?
解决方案
你试过 parse()
from dateutil.parser import parse
import datetime
def clean_date(text):
datetimestr = parse(text)
text = datetime.strptime(datetimestr, '%Y%m%d')
return text
df['Date'] = df['Date'].apply(clean_date)
df['Date'] = pd.to_datetime(df['Date'])
推荐阅读
- sms - 没有ESC可以取消AT+CMGS吗?
- google-apps-script - 如何通过 Google App 脚本发送邮件 - 邮件合并代码
- swift - Mac OSX 中的视觉框架
- javascript - 一个最好的项目如何分组和呈现项目,例如在许多“用户”实例中可能相等的“兴趣”属性?
- react-native - 在 react native 中将状态发送到图像标签的 require 源
- go - 如何计算 Go 中的鼠标点击次数?
- django - Django中如何处理多对多关系?
- json - 如何加载在 HIVE 中压缩的 json snappy
- python - 值错误为“尝试相对导入超出顶级包”
- javascript - javascript过滤一个对象