2017-02-10 2 views
1

Итак, у меня есть панд dataframe вроде этого:получение строк dataframe на основе списка значений в панд

name, val1, val2 
foo, 1.2, 1.7 
bar, 2.1, 21 
baz, 9, 21 
foobar, 14, 29 

и так далее

и у меня есть список имен, которые я хочу запросить из вышеуказанной рамки данных.

Для например:

names = ['foo', 'foobar'] 

Я хочу запросить выше dataframe, так что она возвращает то, что есть соответствующие номера строк .. Так, например .. индексы, соответствующие «Foo» и «Foobar» 0 и 3?

Как, я могу достичь этого?

ответ

2

вариант 1
использование query

df.query('name in @names').index 

Int64Index([0, 3], dtype='int64') 

вариант 2
использование isin

df.index[df.name.isin(names)] 

Int64Index([0, 3], dtype='int64') 
+0

Ах .. да .. индекс .. сделал трюк:) спасибо – Fraz

+0

@Fraz, если это ответили на ваш вопрос, пожалуйста, не забудьте выбрать его в качестве выбранного ответа, нажав зеленую галочку. – piRSquared

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