为了账号安全,请及时绑定邮箱和手机立即绑定

修复日期字符串在某些行中互换的日期和月份

修复日期字符串在某些行中互换的日期和月份

SMILET 2021-09-11 20:58:41
我正在尝试从 csv 文件上传一些数据并找到日期和月份的值互换。下面给出了数据的外观:id,date1001,09/10/20181002,20/09/20181003,09/05/2018所有日期都来自九月,但正如所见,它们以不同的格式互换。我正在使用下面的转换为日期时间df['date'] = pd.to_datetime(df['date']).dt.strftime('%d/%m/%Y')
查看完整描述

2 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

Pandas 处理您的样本数据没有任何问题,因为它显然采用美国表示法,除了在'20/09/2018'where20不可能是一个月的情况下,pandas 也没有问题。


但是,如果输入包含例如'10/09/2018'(如评论中提到的),则无法区分日期和月份,除非假定使用美国符号,或者事先知道绝对所有日期都在 9 月。


由于后者似乎是这种情况,您可以这样做


df['date'].map(lambda x: pd.datetime(x.year, x.day, x.month)

               if (x.month != 9) & (x.day == 9)

               else x)

0   2018-09-10

1   2018-09-20

2   2018-09-05


查看完整回答
反对 回复 2021-09-11
  • 2 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信