我有一个脚本,读取这样的csv:
df = pd.read_csv("short.csv", parse_dates=['date'])
“日期”列可以有任何类型的日期格式,并且工作正常,因为我将日期转换为纪元时间,如下所示:
df.date = pd.to_timedelta(df.date).astype('timedelta64[s]')
一个工作的例子是拥有这样的csv:
date
2010-07-08 21:24:52
2010-07-08 21:24:53
问题是当在csv中日期列已经在纪元时间时,该转换非常糟糕。那么,在进行转换之前,如何检查列是否已经在历元时间?
有问题的csv将是:
date
1433367800
1433367801
提前致谢
答案 0 :(得分:0)
我认为您可以先在read_csv
中省略解析datetime
,然后在to_numeric
notnull
之前检查df = pd.read_csv("short.csv")
print df
date
0 1368431150
1 1368431149
2 2015-05-18
print pd.to_numeric(df.date, errors='coerce').notnull()
0 True
1 True
2 False
Name: date, dtype: bool
时期:
{{1}}