猿问

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

我正在尝试从 csv 文件上传一些数据并找到日期和月份的值互换。


下面给出了数据的外观:


id,date

1001,09/10/2018

1002,20/09/2018

1003,09/05/2018

所有日期都来自九月,但正如所见,它们以不同的格式互换。我正在使用下面的转换为日期时间


df['date'] = pd.to_datetime(df['date']).dt.strftime('%d/%m/%Y')


SMILET
浏览 144回答 2
2回答

白板的微信

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-101   2018-09-202   2018-09-05
随时随地看视频慕课网APP

相关分类

Python
我要回答