2016-09-20 60 views
4

我有一個包含用戶列表登錄信息的大文件。問題是該文件在Date列中包含其他信息。我想刪除Date列中不是datetime類型的所有行。我的數據酷似熊貓刪除不是'日期時間'類型的所有行

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

不應該'DF = DF [DF [ '日期']適用。(拉姆達X:式(X)== datetime.datetime)]'工作 – EdChum

回答

9

使用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