我有两栏。 ID和百分比。有些ID不是唯一的。假设我有ID 233、233、277、277。以及相应的百分比:4.5%,7%,3%,1%。我需要选择最高每个ID的百分比。结果是:233-7%,277-3%。
我编写的代码返回了整个列的最大值,而不是特定的非唯一ID。
df['help_column'] = np.where(df.duplicated() ==True, max(df['percentage']),0)
由于整个列中的最高值为33%,所以ID 233为33%,ID 277为33%,而不是期望的结果。谢谢
答案 0 :(得分:3)
这更像是transform
df['help_column'] = df.groupby('ID')['percentage'].transform('max')
答案 1 :(得分:1)
尝试一下
df.groupby(['ID'])['percentage'].max()