2013-05-06 6 views
0

У меня есть панд DataFrame «ДФ», как показано ниже:как получить определенную часть DataFrame

  lat  lon   time 
ID         
48202 42.5040 -70.5419 731800.5514 
48202 42.4956 -70.5539 731801.6319 
48202 42.4927 -70.5830 731802.7188 
48202 42.5028 -70.6010 731802.8014 
48202 42.5168 -70.5966 731803.8944 
48202 42.5202 -70.5746 731804.9729 
48202 42.5115 -70.5528 731804.0521 
48202 42.5020 -70.5427 731805.1410 
...  ...  ...  ... 

и два конкретных значений:

t0=731801 
t1=731803 

Теперь я хочу, чтобы извлечь часть DataFrame " df ", чьи« временные »значения между t0 и t1, как показано ниже:

 lat  lon   time 
ID 
48202 42.4956 -70.5539 731801.6319 
48202 42.4927 -70.5830 731802.7188 
48202 42.5028 -70.6010 731802.8014 
48202 42.5168 -70.5966 731803.8944 

Как это сделать? Я использую метод «df.ix»

df=df.ix[df['time']<=t1 and df['time']>=t0] 

но это не сработало. Сообщение об ошибке:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all() 

ответ

1

Вам следует маскировать здесь!

df_masked = df[(df.time <= t1) & (df.time >= t0)] 
+0

прохладно !!! спасибо: D – wuwucat

+0

конечно! рад помочь –

Смежные вопросы