可以使用Pandas库的groupby方法进行分组操作,然后使用agg方法筛选出需要的最大值和其他值,并根据最大值进行组合。
示例代码如下:
import pandas as pd
df = pd.DataFrame({'A': ['a', 'a', 'b', 'b'], 'B': ['x', 'y', 'y', 'x'], 'C': [1, 3, 2, 4], 'D': [6, 5, 8, 7]})
result = df.groupby(['A', 'B']).agg({'C': 'max', 'D': 'max', 'B': 'first'})
print(result)
输出结果为:
C D B
A B
a x 1 6 x
y 3 5 y
b x 4 7 x
y 2 8 y
说明:以上代码实现了将DataFrame按照'A'和'B'列进行分组,然后筛选出'C'和'D'列的最大值,并根据最大值进行组合。其中,'C'和'D'列的最大值使用agg方法进行筛选,而'B'列则使用'first'方法进行筛选。