2017-06-01 161 views
0

兩個時間戳之間刪除所有行如何刪除兩個時間戳包括之間的數據幀中的所有行?從熊貓數據框中

我的數據框的樣子:

    b  a  
0 2016-12-02 22:00:00 19.218519 
1 2016-12-02 23:00:00 19.171197 
2 2016-12-03 00:00:00 19.257836 
3 2016-12-03 01:00:00 19.195610 
4 2016-12-03 02:00:00 19.176413 

對於例如:我想從上面的數據幀,其時間戳屬於刪除所有行是介於兩者之間:「2016年12月2日22:00:00」到「2016 -12-03 00:00:00「。 因此,結果將只包含第3行和第4行。

b列的類型是datetime64,而a的類型是float。

請建議。

+0

我收到提示:ValueError異常:標籤[ 'B', '軸' –

回答

0

可以過濾出那些:

from_ts = '2016-12-02 22:00:00' 
to_ts = '2016-12-03 00:00:00' 
df = df[(df['b'] < from_ts) | (df['b'] > to_ts)] 
+0

中不包含的軸'''給出了錯誤:軸 –

0

轉換B列於日期時間,然後敷面膜

df.b = pd.to_datetime(df.b, format = '%Y-%m-%d %H:%M:%S') 
df[(df.b < '2016-12-02 22:00:00') | (df.b > '2016-12-03 00:00:00')] 

    b     a 
3 2016-12-03 01:00:00 19.195610 
4 2016-12-03 02:00:00 19.176413 
+0

中不包含的標籤給出了錯誤:軸中不包含標籤 –

0
index_list= df.b[(df.b >= "2016-12-02 22:00:00") & (df.b <= "2016-12-03 00:00:00")].index.tolist() 
df.drop(df.index[index_list] , inplace = True) 
+0

這工作!沒有包含在軸中的標籤錯誤。此外,它將從數據框中永久刪除這些行。 –