python - groupby和apply时如何将列名作为参数传递
问题描述
在python pandas中,什么时候做df.groupby('columnA').apply(myfunction)
,如何将columnA传递给函数?columnA 中的值将用于进行进一步的数据过滤。
下面试过了,还是不行
df.groupby('columnA').apply(myfunction,('columnA'))
提前致谢!
解决方案
您可以通过以下方式访问您分组的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
推荐阅读
- scala - Scala 类型声明中的 Hashmark -- `P#Backend#Database` 是什么意思?
- sql - 在 hive 中排序表值的问题
- symfony - Symfony WebProfiler 不显示
- python - from selenium.webdriver.common.keys import Keys 有什么用
- python - 根据另一个嵌套列表对嵌套列表进行排序
- javascript - 使用jquery验证手机号码验证无法正常工作
- virtualbox - Virtualbox:如何在 Ubuntu 上的 Windows10 来宾上安装来宾添加?
- google-sheets - 如何按时间顺序在两个不同的 Google 电子表格上输入序列号?
- tensorflow - Tensorflow:NotImplementedError:目前只能导入使用 `tf.saved_model.save` 导出的 SavedModels
- spring-cloud-stream - IdleBetween 池未按指定提取消息