首页 > 解决方案 > groupby和apply时如何将列名作为参数传递

问题描述

在python pandas中,什么时候做df.groupby('columnA').apply(myfunction),如何将columnA传递给函数?columnA 中的值将用于进行进一步的数据过滤。

下面试过了,还是不行

df.groupby('columnA').apply(myfunction,('columnA'))

提前致谢!

标签: pythonpandasapply

解决方案


您可以通过以下方式访问您分组的GroupBy

df.groupby('columnA')['columnA'].apply(myfunction)

最小可验证示例

def myfunc(x):
    return x.sum()

df = pd.DataFrame({'A': list('abbac'), 'B': range(5)})
df
   A  B
0  a  0
1  b  1
2  b  2
3  a  3
4  c  4

df.groupby('A')['A'].apply(myfunc)    
A
a    aa
b    bb
c     c
Name: A, dtype: object

推荐阅读