2017-06-01 146 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

这工作!没有包含在轴中的标签错误。此外,它将从数据框中永久删除这些行。 –