我有一个数据框,有三列,Name,group 1和group 2。“名称”列显示不同的人员/案例,“组”列也显示这些人员所属的类别。下面是这个数据集的图像:
正如我们从上面的数据集可以看到,同一个人可以被分配到多个组,我需要选择他们所属的最高组。01_高是最高组,03_低是最低组。
例如,让我们以第一种情况“Tom”为例,在组1中,他属于“01_high”,而对于组2,“Tom”属于“03_low”。我需要创建第三个组列'group 3'与更高的类别。在这种情况下,“Tom”的group 3列中的值将是“01_high”。
创建数据集的代码:
data = {'Name': ['Tom', 'Nick','Jack', 'Ann'],
'group1': ['01_high', '02_medium', '03_low' , '02_medium'],
'group2':['03_low', '03_low', '02_medium', '03_low']}
df = pd.DataFrame(data)
df
最终期望输出:
我对python相当陌生,不知道如何实现所需的输出,因此非常感谢任何帮助。谢谢
2条答案
按热度按时间fxnxkyjh1#
这里有一个选项:
输出:
46scxncf2#
你可以使用类似groupby的东西:https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html