我正在尝试合并多行并从列中检索最大值: 说我有以下数据框:
id Reaction1 Reaction2 Reaction3
A 4 3 2
A 1 2 1
A 5 1 0
B 3 2 1
B 1 1 2
,我想合并该行以显示每一列的最大值:
id Reaction1 Reaction2 Reaction3
A 5 3 2
B 3 2 2
另一个问题是:
保留其他行(不要将它们分组)并使用max(abs)覆盖该列,原因是我可能还有其他要保留的列信息:
id Reaction1 Reaction2 Reaction3 Other_col
A 5 3 2 x
A 5 3 2 y
A 5 3 2 z
B 3 2 2 x
B 3 2 2 y
非常感谢!
答案 0 :(得分:1)
您可以最多执行groupby对象:
df.groupby('id').max()
输出:
Rx1 Rx2 Rx3
id
A 5 3 2
B 3 2 2
如果您想让'id'保留在列而不是索引中,则可以将其更改为:
df.groupby('id').max().reset_index()