要按组进行分组并应用自定义函数创建一个新的数据框,你可以使用groupby
和apply
方法来完成。
以下是一个示例代码:
import pandas as pd
# 创建示例数据
data = {'Group': ['A', 'A', 'B', 'B', 'C', 'C'],
'Value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# 自定义函数
def custom_function(group):
return group['Value'].sum() # 以示例数据为例,计算每个组的值之和
# 按组进行分组并应用自定义函数
new_df = df.groupby('Group').apply(custom_function)
print(new_df)
运行该代码将输出以下结果:
Group
A 3
B 7
C 11
dtype: int64
在示例代码中,我们首先创建了一个包含两列的数据框df
。然后定义了一个名为custom_function
的自定义函数,该函数接收一个组作为输入并返回计算结果。接下来,我们使用groupby
方法按Group
列进行分组,并使用apply
方法将自定义函数应用于每个组。最后,我们将结果保存到一个新的数据框new_df
中,并将其打印出来。
请注意,自定义函数可以根据实际需求进行编写,可以进行各种操作,例如计算平均值、计数、统计等等。