python - 如何检查 Pandas 数据框中是否存在具有特定列值的行

标签 python pandas dataframe

对 pandas 很陌生。

有没有办法检查给定的 pandas 数据框,是否存在具有特定列值的行。假设我有一个“名称”列,我需要检查某个名称是否存在。

一旦我这样做了,我将需要进行类似的查询,但一次要有一堆值。 我读到有“isin”,但我不确定如何使用它。因此,我需要进行查询,以便获取所有“名称”列与大型名称数组中的任何值匹配的行。

最佳答案

import numpy as np
import pandas as pd
df = pd.DataFrame(data = np.arange(8).reshape(4,2), columns=['name', 'value'])

结果:

>>> df
   name  value
0     0      1
1     2      3
2     4      5
3     6      7
>>> any(df.name == 4)
True
>>> any(df.name == 5)
False

第二部分:

my_data = np.arange(8).reshape(4,2)
my_data[0,0] = 4

df = pd.DataFrame(data = my_data, columns=['name', 'value'])

结果:

>>> df.loc[df.name == 4]
   name  value
0     4      1
2     4      5

更新:

my_data = np.arange(8).reshape(4,2)
my_data[0,0] = 4

df = pd.DataFrame(data = my_data, index=['a', 'b', 'c', 'd'], columns=['name', 'value'])

结果:

>>> df.loc[df.name == 4]  # gives relevant rows
   name  value
a     4      1
c     4      5  
>>> df.loc[df.name == 4].index  # give "row names" of relevant rows
Index([u'a', u'c'], dtype=object)

关于python - 如何检查 Pandas 数据框中是否存在具有特定列值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22895405/

相关文章:

python - 如何使用颜色在直方图上表示类别?

python - OpenERP 自定义模块在模块列表更新后不显示

python - 获取 Pandas 字符串系列的加权值

python - 如何循环导入多个 .txt 文件但不串联?

python - 带返回值的 DataFrame 就地修改

r 从包含 2 列组合的副本的数据框中删除行

python - 从Docker容器中的Django + Celery对API超时进行故障排除

python - 从 sys.argv 中识别列表中的元素以进行反向波兰表示法

python - 根据多列聚合函数的条件结果计算唯一记录

Python - Pandas 数据框列交换