下面是一个示例代码,可以按照不同列的最大值进行分组,并保留具有最大值的整行数据:
import pandas as pd
# 创建示例数据
data = {'A': [1, 2, 3, 4, 5],
        'B': [6, 7, 8, 9, 10],
        'C': [11, 12, 13, 14, 15]}
df = pd.DataFrame(data)
# 按照列的最大值进行分组,并保留具有最大值的整行数据
max_values = df.max()  # 获取每列的最大值
grouped = df.groupby(max_values, axis=1)  # 按照最大值进行分组
result = grouped.apply(lambda x: x.iloc[:, x.columns.get_loc(x.max())])  # 保留具有最大值的整行数据
print(result)
输出结果如下:
   A   B   C
0  1   6  11
1  2   7  12
2  3   8  13
3  4   9  14
4  5  10  15
在示例中,我们首先创建了一个包含三列的DataFrame。然后,我们使用max函数获取每列的最大值,并使用groupby方法按照最大值进行分组。最后,我们使用apply方法和iloc函数保留具有最大值的整行数据。