2024-10-02 18:18:07 发布
网友
我有如下数据集
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
我想创建向量
对于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']等,或者通过一个列表获得向量:
groupednumbers['a']
。。。或者如果您需要按顺序排列:
args = [groupednumbers[grp] for grp in sorted(df['group'].unique())]
然后打电话
stats.kruskal(*args)
或者,如果需要实际的列表,可以执行list(df['numbers'][...].values。)
list(df['numbers'][...].values
我不熟悉Kruskal-Wallis测试的任何特殊要求,但是您可以通过以下方式将这些分组数组放入字典来访问它们:
也就是说,您可以通过显式调用
^{pr2}$groupednumbers['a']
等,或者通过一个列表获得向量:。。。或者如果您需要按顺序排列:
然后打电话
或者,如果需要实际的列表,可以执行
list(df['numbers'][...].values
。)相关问题 更多 >
编程相关推荐