对 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/