Pandas groupby并将函数应用于数字列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pandas groupby并将函数应用于数字列相关的知识,希望对你有一定的参考价值。
我正在尝试将shapiro-wilk测试应用于我的数据帧,该数据帧根据两个分类变量分组:
df.groupby(['category 1', 'category 2']).apply(stats.shapiro)
这会导致错误,表明它无法将字符串转换为float。其中唯一的非数字列是我用来拆分数据帧的两个类别。
我如何解决它?
编辑:
示例数据:
cat1 cat2 purchases sales
A B 20 25
C A 30 45
B B 35 20
A A 40 50
我想获得每个数字列的shapiro统计值和p值,而不必编写每个类别的所有可能组合。
答案
这应该工作:
df.groupby(['cat1', 'cat2'])['purchases','sales'].apply(stats.shapiro)
以上是关于Pandas groupby并将函数应用于数字列的主要内容,如果未能解决你的问题,请参考以下文章
如何在 pandas groupby 对象上应用函数并将结果保存回父数据框的新列?
如何正确使用带有应用功能的熊猫 groupby 来解决副作用? (第一组申请两次)
如何使用 Groupby 将 Pandas TA 应用于数据框