如何解决与熊猫的不良日期识别to_datetime
我需要从Excel文件中识别日期:
[1399 rows x 8 columns]
Pož. č. Vytvořil(A) Vyžádáno Odesláno Dne Status Číslo objednávky Celkem new_date
10 1012717 xxxxxxxxx xxxxxxxx yyyyyy yyyyyyy 12. 08. 20 Přijato (Sent to RFQ) CO744765 140.00 2020-12-08
11 1009920 xxxxxxxxx xxxxxxxx yyyyyy yyyyyyy 14. 08. 20 Přijato (Sent to RFQ) CO748621 92.00 2020-08-14
12 993689 yyyyyy yyyyyyy xxxxxxxxx xxxxxxxx 24. 07. 20 Přijato CO738902 12125.04 2020-07-24
14 989011 xxxxxxxxx xxxxxxxx yyyyyy yyyyyyy 22. 07. 20 Přijato CO733551 337.94 2020-07-22
我使用:
df['new_date'] = pd.to_datetime(df['Odesláno Dne'])
但是碰巧表的第一行中的日期被替换为月份:
pd.to_datetime('12. 08. 20')
Out: Timestamp('2020-12-08 00:00:00')
第二个还可以:
pd.to_datetime('14. 08. 20')
Out: Timestamp('2020-08-14 00:00:00')
我需要为日期添加一个模式。
解决方法
使用参数格式,对于比赛日使用%d
,对于几个月%m
,对于YY
使用%y
:
df['new_date'] = pd.to_datetime(df['Odesláno Dne'],format='%d. %m. %y')
print (df)
Po. č. Vytvořil(A) Vyžádáno Odesláno Dne \
10 1012717 xxxxxxxxx xxxxxxxx yyyyyy yyyyyyy 12. 08. 20
11 1009920 xxxxxxxxx xxxxxxxx yyyyyy yyyyyyy 14. 08. 20
12 993689 yyyyyy yyyyyyy xxxxxxxxx xxxxxxxx 24. 07. 20
14 989011 xxxxxxxxx xxxxxxxx yyyyyy yyyyyyy 22. 07. 20
Status Číslo objednávky Celkem new_date
10 Přijato (Sent to RFQ) CO744765 140.00 2020-08-12
11 Přijato (Sent to RFQ) CO748621 92.00 2020-08-14
12 Přijato CO738902 12125.04 2020-07-24
14 Přijato CO733551 337.94 2020-07-22
或使用参数dayfirst=True
:
df['new_date'] = pd.to_datetime(df['Odesláno Dne'],dayfirst=True)
print (df)
Po. č. Vytvořil(A) Vyžádáno Odesláno Dne \
10 1012717 xxxxxxxxx xxxxxxxx yyyyyy yyyyyyy 12. 08. 20
11 1009920 xxxxxxxxx xxxxxxxx yyyyyy yyyyyyy 14. 08. 20
12 993689 yyyyyy yyyyyyy xxxxxxxxx xxxxxxxx 24. 07. 20
14 989011 xxxxxxxxx xxxxxxxx yyyyyy yyyyyyy 22. 07. 20
Status Číslo objednávky Celkem new_date
10 Přijato (Sent to RFQ) CO744765 140.00 2020-08-12
11 Přijato (Sent to RFQ) CO748621 92.00 2020-08-14
12 Přijato CO738902 12125.04 2020-07-24
14 Přijato CO733551 337.94 2020-07-22
,
这将解决它:
df['new_date'] = pd.to_datetime(df['Odesláno Dne'],format="%d/%m/%y")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。