You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将pandas DataFrame各列批量传入kruskal统计函数运算

解决方案

你可以直接用Python的可变参数解包语法实现,无需手动枚举每一列参数:

场景1:沿用你现有逻辑,取前6列的前3行传入

print(stats.kruskal(*[df.iloc[:3, i] for i in range(6)]))

场景2:全部33列的所有行都参与计算

两种写法可选,可读性都很高:

# 写法1:基于numpy数组转置,执行效率更高
print(stats.kruskal(*df.values.T))

# 写法2:基于pandas列迭代,可读性更强
print(stats.kruskal(*(col for _, col in df.items())))

补充:如果存在非数值列需要先过滤

避免传入字符串等非数值类型报错:

# 仅筛选数值类型列参与计算
num_cols = df.select_dtypes(include='number')
print(stats.kruskal(*(col for _, col in num_cols.items())))

内容的提问来源于stack exchange,提问作者z w

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 10:39:03