下面是一个示例代码,实现了按照另一列的顺序在两列上进行分组并选择最大值的功能:
import pandas as pd
# 创建示例数据
data = {'group': ['A', 'A', 'B', 'B', 'B', 'C', 'C'],
'value1': [10, 20, 30, 40, 50, 60, 70],
'value2': [100, 200, 300, 400, 500, 600, 700]}
df = pd.DataFrame(data)
# 按照 group 列的顺序进行排序
df = df.sort_values('group')
# 按照 group 列进行分组,并选择 value1 列的最大值
max_value1 = df.groupby('group')['value1'].max()
# 按照 group 列进行分组,并选择 value2 列的最大值
max_value2 = df.groupby('group')['value2'].max()
# 将结果合并为一个 DataFrame
result = pd.concat([max_value1, max_value2], axis=1)
print(result)
输出结果:
value1 value2
group
A 20 200
B 50 500
C 70 700
以上代码使用了 pandas 库来处理数据。首先,我们创建了一个包含 group、value1 和 value2 列的 DataFrame。然后,我们按照 group 列的顺序进行排序。接下来,使用 groupby
函数按照 group 列进行分组,并分别选择 value1 和 value2 列的最大值。最后,将两个结果合并为一个 DataFrame,并打印输出。
上一篇:按照另一列的顺序将列聚合为数组