小编Mic*_*cht的帖子

Pandas GroupBy:应用具有两个参数的函数

通常在使用该.apply()方法时,会传递一个只接受一个参数的函数.

def somefunction(group):
    group['ColumnC'] == group['ColumnC']**2
    return group

df.groupby(['ColumnA', 'ColumnB']).apply(somefunction)
Run Code Online (Sandbox Code Playgroud)

这里somefunction适用于每个group,然后返回.基本上我在这里使用这个例子.

我希望能够事先不指定列名ColumnC.将其作为参数传递somefunction会使代码更加灵活.

def somefunction(group, column_name):
    group[column_name] == group[column_name]**2
    return group

df.groupby(['ColumnA', 'ColumnB']).apply(somefunction)
Run Code Online (Sandbox Code Playgroud)

有没有办法让这项工作?我不能传递groupsomefunction,因为那是奇迹般地完成.apply()的背景.

python pandas

5
推荐指数
1
解决办法
3254
查看次数

标签 统计

pandas ×1

python ×1