2017-01-08 172 views
1

enter image description here条件选择 - 熊猫据帧

我上面的数据帧(片段),并希望建立一个新的数据帧这是一个有条件的选择,我只保留带有时间戳记,与之前的时间行15:00:00。

我还是有点新的大熊猫/ Python和一直停留在这一段时间:(

+3

请发布数据本身,而不是它的照片。 – Abdou

回答

0

您可以检查日期列的时间和使用它的子集:

df['date'] = pd.to_datetime(df['date']) # optional if the date column is of datetime type 
df[df.date.dt.hour < 15] 
+0

这也工作!大! –

1

您可以使用DataFrame.between_time

start = pd.to_datetime('2015-02-24 11:00') 
rng = pd.date_range(start, periods=10, freq='14h') 

df = pd.DataFrame({'Date': rng, 'a': range(10)}) 
print (df) 
       Date a 
0 2015-02-24 11:00:00 0 
1 2015-02-25 01:00:00 1 
2 2015-02-25 15:00:00 2 
3 2015-02-26 05:00:00 3 
4 2015-02-26 19:00:00 4 
5 2015-02-27 09:00:00 5 
6 2015-02-27 23:00:00 6 
7 2015-02-28 13:00:00 7 
8 2015-03-01 03:00:00 8 
9 2015-03-01 17:00:00 9 

df = df.set_index('Date').between_time('00:00:00', '15:00:00') 
print (df) 
        a 
Date     
2015-02-24 11:00:00 0 
2015-02-25 01:00:00 1 
2015-02-25 15:00:00 2 
2015-02-26 05:00:00 3 
2015-02-27 09:00:00 5 
2015-02-28 13:00:00 7 
2015-03-01 03:00:00 8 

如果需要排除15:00:00附加参数include_end=False

df = df.set_index('Date').between_time('00:00:00', '15:00:00', include_end=False) 
print (df) 
        a 
Date     
2015-02-24 11:00:00 0 
2015-02-25 01:00:00 1 
2015-02-26 05:00:00 3 
2015-02-27 09:00:00 5 
2015-02-28 13:00:00 7 
2015-03-01 03:00:00 8 
+0

非常感谢!这工作像一个魅力:) –

+0

如果我或另一个答案是有帮助的,不要忘记[接受](http://meta.stackexchange.com/a/5235/295067)它。谢谢。 – jezrael