python - python ANOVA用于可变数量的输入数组
问题描述
我正在实施 Kruskall-Wallis 测试scipy.stats.kruskal
。有没有办法为未知数量的输入输入输入参数?
例如,从文档中复制示例
from scipy.stats import kruskal
# 2 input arrays
x1 = [1, 3, 5, 7, 9]
x2 = [2, 4, 6, 8, 10]
kruskal(x1, x2)
# KruskalResult(statistic=0.2727272727272734, pvalue=0.6015081344405895)
# 3 input arrays
x1 = [1, 1, 1]
x2 = [2, 2, 2]
x3 = [2, 2]
kruskal(x1, x2, x3)
# KruskalResult(statistic=7.0, pvalue=0.0301973834223185)
但是,如果我一开始不知道组(输入数组)的数量怎么办?我可以做类似以下的事情,但它似乎不优雅:
input_list = [[1, 3, 5, 7, 9], [2, 4, 6, 8, 10]]
if len(input_list) == 2:
kresult = kruskal(input_list[0], input_list[1])
elif len(input_list) == 3:
kresult = kruskal(input_list[0], input_list[1], input_list[2])
elif len(input_list) == 4:
kresult = kruskal(input_list[0], input_list[1], input_list[2], input_list[3])
# and so on...
解决方案
您可以使用扩展运算符:
kresult = kruskal(*input_list)
推荐阅读
- scala - 在 Windows 上启动 play-scala 应用程序会引发“未提供根服务器路径”
- android - 任务“:app:processDebugGoogleServices”执行失败。> 找不到与包名称“com.example.myapp”匹配的客户端
- android - 使用 WebRTC 摄像头的 Cordova Android 应用程序出现问题
- git - 如何从远程分支更新本地分支
- google-bigquery - 在解析 JSON 字符串数据时无法使用 Struct 或 Unnest
- angularjs - 使用延迟加载时的转换拒绝
- python - 如何在python中拆分元组并获取具有列名的数据
- pandas - 更改熊猫中的列索引名称
- linux - 启动后无法在 Parrot 4.10 中挂载 cifs 共享
- python - 调用 Dockerfile 时如何接收输入?