要按照DataFrame的一个主要列级别进行分组,并在每个子级别上应用一个函数,可以使用pandas的groupby函数和apply函数。
下面是一个示例代码:
import pandas as pd
# 创建示例DataFrame
data = {'主要列': ['A', 'A', 'B', 'B', 'B', 'C'],
'其他列': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# 定义要应用的函数
def custom_function(group):
return group.sum()
# 按照主要列进行分组,并在每个子级别上应用自定义函数
result = df.groupby('主要列')['其他列'].apply(custom_function)
print(result)
输出结果为:
主要列
A 3
B 12
C 6
Name: 其他列, dtype: int64
在上面的示例中,首先创建了一个包含主要列和其他列的DataFrame。然后定义了一个custom_function函数,该函数将对每个分组进行求和操作。最后使用groupby函数按照主要列进行分组,并使用apply函数应用custom_function函数。最终得到每个子级别上应用custom_function函数的结果。