下面是一个示例代码,可以按照不同列的最大值进行分组,并保留具有最大值的整行数据:
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
函数保留具有最大值的整行数据。