gpt4 book ai didi

python - Pandas to_datetime ValueError : Unknown string format

转载 作者:太空狗 更新时间:2023-10-29 18:28:44 24 4
gpt4 key购买 nike

我的( Pandas )数据框中有一列:

data['Start Date'].head()
type(data['Start Date'])
Output:
1/7/13
1/7/13
1/7/13
16/7/13
16/7/13
<class 'pandas.core.series.Series'>

当我将其转换为日期格式时(如下所示),出现错误 ValueError: Unknown string format

data['Start Date']= pd.to_datetime(data['Start Date'],dayfirst=True)
...
...
/Library/Python/2.7/site-packages/pandas/tseries/tools.pyc in _convert_listlike(arg, box, format, name)
381 return DatetimeIndex._simple_new(values, name=name, tz=tz)
382 except (ValueError, TypeError):
--> 383 raise e
384
385 if arg is None:

ValueError: Unknown string format

我在这里错过了什么?

最佳答案

我认为问题出在数据中 - 存在有问题的字符串。因此,您可以尝试检查 Start Date 列中字符串的长度:

import pandas as pd
import io

temp=u"""Start Date
1/7/13
1/7/1
1/7/13 12 17
16/7/13
16/7/13"""

data = pd.read_csv(io.StringIO(temp), sep=";", parse_dates=False)

#data['Start Date']= pd.to_datetime(data['Start Date'],dayfirst=True)
print data

Start Date
0 1/7/13
1 1/7/1
2 1/7/13 12 17
3 16/7/13
4 16/7/13

#check, if length is more as 7
print data[data['Start Date'].str.len() > 7]

Start Date
2 1/7/13 12 17

或者您可以尝试以不同的方式找到这些有问题的行,例如只读取部分日期时间并检查解析日期时间:

#read first 3 rows
data= data.iloc[:3]

data['Start Date']= pd.to_datetime(data['Start Date'],dayfirst=True)

但这只是提示。

编辑:

感谢 joris 建议将参数 errors ='coerce' 添加到 to_datetime :

temp=u"""Start Date
1/7/13
1/7/1
1/7/13 12 17
16/7/13
16/7/13 12 04"""

data = pd.read_csv(io.StringIO(temp), sep=";")
#add parameter errors coerce
data['Start Date']= pd.to_datetime(data['Start Date'], dayfirst=True, errors='coerce')
print data

Start Date
0 2013-07-01
1 2001-07-01
2 NaT
3 2013-07-16
4 NaT

#index of data with null - NaT to variable idx
idx = data[data['Start Date'].isnull()].index
print idx

Int64Index([2, 4], dtype='int64')

#read csv again
data = pd.read_csv(io.StringIO(temp), sep=";")

#find problematic rows, where datetime is not parsed
print data.iloc[idx]

Start Date
2 1/7/13 12 17
4 16/7/13 12 04

关于python - Pandas to_datetime ValueError : Unknown string format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34505579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com