以下是一个示例代码,它按行分组并找到每组中的最大值,并保留其他列:
import pandas as pd
# 创建示例数据
data = {'A': [1, 1, 2, 2, 3, 3],
'B': [4, 5, 6, 7, 8, 9],
'C': [10, 11, 12, 13, 14, 15]}
df = pd.DataFrame(data)
# 按列A分组,并找到每组中的最大值
max_values = df.groupby('A').max()
# 将结果与原始数据合并以保留其他列
result = pd.merge(df, max_values, on='A', suffixes=('', '_max'))
print(result)
输出:
A B C B_max C_max
0 1 4 10 5 11
1 1 5 11 5 11
2 2 6 12 7 13
3 2 7 13 7 13
4 3 8 14 9 15
5 3 9 15 9 15
在示例中,我们使用pandas库来处理数据。首先,我们创建一个包含'A'、'B'和'C'列的DataFrame。然后,我们按'A'列分组,并使用groupby()
函数找到每组中的最大值。接下来,我们使用merge()
函数将原始数据与最大值数据合并,on='A'
表示按'A'列进行合并,suffixes=('', '_max')
表示在列名相同时添加后缀以区分。最后,我们打印结果。
请注意,这只是一个示例,你可以根据你的实际需求进行修改和调整。
上一篇:按行分组匹配