我目前正在尝试将Pandas列转换为datetime列,以便找出三组日期列之间的差异(1.搜索酒店的日期,2。到达的日期,3。离开的日期)
这是它的外观示例:
>>> print(df2)
date Arrive Depart
20180516
20180516
20180518 6172018 6242018
20180515
20180519
20180517
20180515 6052018 6062018
20180517 8132018 8162018
20180515 7112018 7152018
20180517 7272018 8012018
Run Code Online (Sandbox Code Playgroud)
到达和离开是字符串。
我尝试df2['Arrive']使用以下方法进行转换:
df2['Arrive'] = pd.to_datetime(df2['Arrive'])
Run Code Online (Sandbox Code Playgroud)
但是,这将引发错误:
TypeError: Unrecognized value type: <class 'str'>
Run Code Online (Sandbox Code Playgroud)
我浏览了许多文章,但找不到完全出问题的方法或解决方法。
jez*_*ael 17
添加参数errors='coerce'与format='%m%d%Y'在to_datetime:
df2['Arrive'] = pd.to_datetime(df2['Arrive'], errors='coerce', format='%m%d%Y')
print (df2)
date Arrive Depart
0 20180516 NaT NaN
1 20180516 NaT NaN
2 20180518 2018-06-17 6242018
3 20180515 NaT NaN
4 20180519 NaT NaN
5 20180517 NaT NaN
6 20180515 2018-06-05 6062018
7 20180517 2018-08-13 8162018
8 20180515 2018-07-11 7152018
9 20180517 2018-07-27 8012018
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3899 次 |
| 最近记录: |