pandas 根据条件查找列值

1wnzp6jl  于 2023-05-21  发布在  其他
关注(0)|答案(3)|浏览(117)

我需要使用python pandas找到唯一的name,其age=2和cond=9?
| 姓名|年龄|第二|cc|
| --------------|--------------|--------------|--------------|
| a| 2|九|3|
| B| 2|八|2|
| c| 3|九|1|
| a| 2|九|六|

r8uurelv

r8uurelv1#

Pandas query函数允许类似SQL的查询来过滤 Dataframe 。然后对结果使用unique()返回唯一的名称。

rows = df.query('age == 2 and cond == 9')
print(rows["name"].unique())

有关更多查询示例,请参见here

icomxhvb

icomxhvb2#

这将查找age = 2且cond = 9的所有非重复行

df.loc[(df['age'] == 2) & (df['cond'] == 9)][['name', 'cc']].drop_duplicates()
mklgxw1f

mklgxw1f3#

一个可能的解决方案是将列放在zip()中,然后像这样迭代 Dataframe :

for name, age, cond in zip(df['name'], df['Age'], df['cond']):
    if(age == 2 and cond ==9):
      print(name)

相关问题