可以使用 pandas 库中的 groupby 和 agg 方法实现该操作。具体代码如下:
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({'col1': [1, 1, 2, 2], 'col2': ['a', 'b', 'c', 'd'], 'col3': [10, 20, 30, 40]})
# 按 col1 列分组并取 col2 列的最后一个值以及 col3 列的和
df_grouped = df.groupby('col1').agg({'col2': 'last', 'col3': 'sum'})
# 打印结果
print(df_grouped)
执行结果为:
col2 col3
col1
1 b 30
2 d 70
其中,groupby
方法用于按照 col1
列分组,agg
方法用于对每个分组进行聚合操作,参数是一个字典,字典的 key 指定列名,value 指定要执行的聚合操作。对于本例,我们用 'last'
表示取最后一个值,用 'sum'
表示求和。