熊猫:使用python

时间:2016-05-02 11:21:33

标签: python date pandas epoch

我有一个脚本,读取这样的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

提前致谢

1 个答案:

答案 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}}