根据pandas

时间:2017-02-10 23:46:37

标签: python pandas

所以,我有一个像这样的pandas数据框:

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

等等

我有我想从上面的数据框中查询的名字列表。

例如:

names = ['foo', 'foobar']

我想查询上面的数据帧,以便返回相应的行号。 因此,例如..对应于" foo"和" foobar"是0和3?

如何实现这一目标?

1 个答案:

答案 0 :(得分: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')