我需要使用python pandas找到唯一的name,其age=2和cond=9?| 姓名|年龄|第二|cc|| --------------|--------------|--------------|--------------|| a| 2|九|3|| B| 2|八|2|| c| 3|九|1|| a| 2|九|六|
r8uurelv1#
Pandas query函数允许类似SQL的查询来过滤 Dataframe 。然后对结果使用unique()返回唯一的名称。
rows = df.query('age == 2 and cond == 9') print(rows["name"].unique())
有关更多查询示例,请参见here。
icomxhvb2#
这将查找age = 2且cond = 9的所有非重复行
df.loc[(df['age'] == 2) & (df['cond'] == 9)][['name', 'cc']].drop_duplicates()
mklgxw1f3#
一个可能的解决方案是将列放在zip()中,然后像这样迭代 Dataframe :
zip()
for name, age, cond in zip(df['name'], df['Age'], df['cond']): if(age == 2 and cond ==9): print(name)
3条答案
按热度按时间r8uurelv1#
Pandas query函数允许类似SQL的查询来过滤 Dataframe 。然后对结果使用unique()返回唯一的名称。
有关更多查询示例,请参见here。
icomxhvb2#
这将查找age = 2且cond = 9的所有非重复行
mklgxw1f3#
一个可能的解决方案是将列放在
zip()
中,然后像这样迭代 Dataframe :