【发布时间】:2021-12-07 20:40:00
【问题描述】:
我有一个数据框,例如
Groups subgroups Species Value
G1 subg1 Sp1 NO
G1 subg1 Sp1 YES
G1 subg1 Sp2 NO
G2 subg5 Sp7 YES
G2 subg6 Sp7 NO
G2 subg7 Sp7 NO
G2 subg7 Sp7 YES
G3 subg1 Sp1 NO
G3 subg1 Sp1 NO
我想在每个Groups、subgroups 和Species 中填写一个新的Value2 列,如果该组中至少有一个YES ,而 NO 是没有。
然后我应该得到:
Groups subgroups Species Value Value2
G1 subg1 Sp1 NO YES
G1 subg1 Sp1 YES YES
G1 subg1 Sp2 NO NO
G2 subg5 Sp7 YES YES
G2 subg6 Sp7 NO NO
G2 subg7 Sp7 NO YES
G2 subg7 Sp7 YES YES
G3 subg1 Sp1 NO NO
G3 subg1 Sp1 NO NO
【问题讨论】:
-
一定是个骗子:
df.groupby(['Groups', 'subgroups', 'Species'])['Value'].transform('max') -
你的这个previous answer和@QuangHoang类似 还有标准的transform max
标签: python python-3.x pandas