python - 根据 pandas 中的值列表获取数据框的行

标签 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
使用查询

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

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

选项 2
使用isin

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

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

关于python - 根据 pandas 中的值列表获取数据框的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42170498/

相关文章:

python - django中的调度用于什么?

python - 如何在 tensorflow 或 keras 中使用 scipy.optimize.linear_sum_assignment?

python - 有没有办法捕获站点使用 python 进行的网络调用?

python - 每当我开始时,Pyspark都会给这些

python - 计算数据框不同列的值

python - 在字符串切片中使用比较运算符

python - 无法使用sqlalchemy通过pandas.to_sql写入mysql数据库,但不能通过没有pandas的sqlalchemy

python - Pandas 数据框在 Jupyter 中呈现为表格

python - 打印时指定 Pandas DataFrame 列之间的空格数

python - 如何保持 2 列数据帧的 pandas groupby 计数为零?