gpt4 book ai didi

python - 为 Kruskal-Wallis H-test python 创建向量

转载 作者:太空宇宙 更新时间:2023-11-04 10:15:08 24 4
gpt4 key购买 nike

我有如下数据集

df = pd.DataFrame({'numbers':range(9), 'group':['a', 'b', 'c']*3})

group numbers
0 a 0
1 b 1
2 c 2
3 a 3
4 b 4
5 c 5
6 a 6
7 b 7
8 c 8

我想创建向量

a = [0, 3, 6]
b = [1, 4, 7]
c = [2, 5, 8]

Kruskal-Wallis H-test python

stats.kruskal(a, b, c)

或者可能像 R 中的模拟(数字 ~ 组)

最佳答案

我不熟悉 Kruskal-Wallis 检验的任何特殊要求,但您可以通过将这些分组数组放入字典中来访问这些分组数组:

groupednumbers = {}
for grp in df['group'].unique():
groupednumbers[grp] = df['numbers'][df['group']==grp].values

print(groupednumbers)
*** {'c': array([2, 5, 8]), 'b': array([1, 4, 7]), 'a': array([0, 3, 6])}

也就是说,您可以通过显式调用 groupednumbers['a'] 等或通过列表来获取向量:

args = groupednumbers.values()

... 或者如果您在订单中需要它们:

args = [groupednumbers[grp] for grp in sorted(df['group'].unique())]

然后调用

stats.kruskal(*args)

或者如果您需要实际列表,您可以执行 list(df['numbers'][...].values.)

关于python - 为 Kruskal-Wallis H-test python 创建向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35816865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com