首页 > 解决方案 > 将多个条件的所有行带到另一列?

问题描述

我有一个如下所示的 xls,我有一个带有值的列名 ID,如果列值相同,1,2,3我需要提取数据,并且这些都应该由 pandas 完成Name and Subname 1,2,3

Name subname ID
 A      B      1
 A      B      2
 A      B      3
 A      C      1
 A      C      2
 F      C      1
 F      C      2
 F      C      3 

预期产出

Name subname 
 A      B      
 F      C

标签: python-3.xpandas

解决方案


您可以尝试为每个组创建唯一性作为元组并进行比较,然后作为数据框返回:

uniques = df.groupby(['Name','subname'])['ID'].unique().map(tuple)
out = uniques.index[uniques==(1,2,3)].to_frame().reset_index(drop=True)

print(out)

  Name subname
0    A       B
1    F       C

推荐阅读