2016-08-30 75 views
0

如何識別並刪除以下索引中的非datetimeindex行。識別非熊貓日期時間索引?

Index([nan, nan, nan, nan, u'aveValue', u'minValue', u'maxValue', u'firstValue', u'lastValue', u'nPointsTot', u'nGood', u'nBlankTimes', u'nBlankValues', u'level_nGood', u'level_nSuspect', u'level_nBad', u'status_nGood', u'2009-01-01 00:00:00', u'2009-01-01 00:05:00', u'2009-01-01 00:10:00', u'2009-01-01 00:15:00', u'2009-01-01 00:20:00', u'2009-01-01 00:25:00', u'2009-01-01 00:30:00', u'2009-01-01 00:35:00', u'2009-01-01 00:40:00', u'2009-01-01 00:45:00', u'2009-01-01 00:50:00', u'2009-01-01 00:55:00', u'2009-01-01 01:00:00', u'2009-01-01 01:05:00', u'2009-01-01 01:10:00', u'2009-01-01 01:15:00', , ...], dtype='object')

我需要刪除的行,其中指數是不是一個時間戳。 這樣做最有效的方法是什麼?

#type (df[0].index) 
=> class 'pandas.core.index.Index' 
+0

嗨!歡迎來到[SO]!請檢查您的格式,以使您的問題可讀! – jkalden

回答

1

轉換的指數to datetime,脅迫的錯誤,並篩選NaT結果:

df[pd.to_datetime(df.index, errors='coerce').to_series().notnull().values] 

爲了使用notnull方法,我的日期時間指數轉換成一個系列。然後我將該系列轉換爲可用於索引的布爾向量。

編輯

這應該有熊貓版工作:

df[pd.Series(pd.to_datetime(df.index, errors='coerce')).notnull().values] 
+0

得到了以下錯誤,當我用這個:回溯(最近通話最後一個): 文件「」,1號線,在 AttributeError的:「numpy.ndarray」對象有沒有屬性「NOTNULL」 – Ruth

+0

你可以嘗試'DF [ pd.notnull(df.index.to_datetime(errors ='coerce'))]'而不是? – IanS

+0

TypeError:to_datetime()得到了一個意外的關鍵字參數'errors' – Ruth

相關問題