您可以使用pandas库中的groupby和apply函数来实现按照一列进行分组并在另一列上应用函数,同时保留数据帧的所有其他列的第一个元素。
以下是一个示例代码:
import pandas as pd
# 创建示例数据帧
df = pd.DataFrame({'group_col': ['A', 'A', 'B', 'B', 'C', 'C'],
'apply_col': [1, 2, 3, 4, 5, 6],
'other_col': ['apple', 'banana', 'car', 'dog', 'elephant', 'fox']})
# 定义应用的函数
def apply_func(x):
return x.sum()
# 按照group_col进行分组并在apply_col上应用函数,同时保留other_col的第一个元素
result = df.groupby('group_col').agg({'apply_col': apply_func, 'other_col': 'first'})
print(result)
输出结果为:
apply_col other_col
group_col
A 3 apple
B 7 car
C 11 elephant
在上述代码中,我们首先创建了一个示例数据帧df,其中包含group_col列、apply_col列和other_col列。然后,定义了一个应用的函数apply_func,该函数将在apply_col列上应用。接下来,使用groupby函数按照group_col列进行分组,并使用agg函数指定应用函数apply_func和保留other_col列的第一个元素。最后,将结果打印出来。
上一篇:按照一列进行分组并按照日期排序