Pandas删除所有不是' datetime'类型

时间:2016-09-20 21:33:50

标签: python pandas

我有一个包含用户列表登录信息的大文件。问题是该文件包含Date列中的其他信息。我想删除datetime列中不属于Date类型的所有行。我的数据类似于

df=
Name      Date
name_1    | 2012-07-12 22:20:00
name_1    | 2012-07-16 22:19:00
name_1    | 2013-12-16 17:50:00
name_1    |                4345 # type = 'int'
                                # type = 'float'
name_2    | 2010-01-11 19:54:00 
name_2    | 2010-02-06 12:10:00
...
name_2    | 2012-07-18 22:12:00
name_2    |                4521
...
name_5423 | 2013-11-23 10:21:00
...
name_5423 |                7532

我已尝试将解决方案修改为

finding non-numeric rows in dataframe in pandas?

Remove rows where column value type is string Pandas

How-should-I-delete-rows-from-a-DataFrame-in-Python-Pandas

以满足我的需求。

问题在于,每当我尝试更改时,我都会收到错误或整个数据框被删除

1 个答案:

答案 0 :(得分:19)

pd.to_datetime与参数errors='coerce'一起使用,使非日期成为NaT空值。然后你可以删除那些行

df['Date'] = pd.to_datetime(df['Date'], errors='coerce')
df = df.dropna(subset=['Date'])

df

enter image description here