我正在尝试将shapiro-wilk测试应用于我的数据框,该数据框基于两个分类变量分为几组:

df.groupby(['category 1', 'category 2']).apply(stats.shapiro)


这导致一个错误,表明它无法将字符串转换为浮点数。我用来拆分数据框的只有两个非数字列。

我如何解决它?

编辑:

示例数据:

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)

关于python - Pandas groupby并将函数应用于数字列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52279449/

10-09 02:49