Pandas groupby 并将函数应用于数字列
Pandas groupby and apply function to numeric columns
我正在尝试将 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)
我正在尝试将 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)