问题描述
我是 Python 新手,正在尝试对分成两组(C2 和 S1)的多列执行 Kruskal Wallis 测试。
到目前为止,我已经能够使用以下代码对单个列进行 Kruskal Wallis 测试。 (我是网上收集的)
import pandas as pd
df =pd.read_excel( 'C2_S1_sorted_2.xlsx')
#collected through internet
import scipy.stats as ss
data = [df.loc[ids,'3-HYDROXYPHENYLACETATE-DEGRADATION-PWY: 4-hydroxyphenylacetate degradation'].values for ids in df.groupby('Group').groups.values()]
H,p = ss.kruskal(*data)
p
我尝试使用“while 循环”来遍历所有列,但直到现在还不能这样做。我也在 StackOverflow 中解决了几乎所有与此相关的问题,但我无法解决我的问题。
有人可以帮我做这件事吗?如果这是一个非常基本的问题,我很抱歉。
以下是我的数据的样子。
Group 1CMET2-PWY: N10-formyl-tetrahydrofolate biosynthesis 3-HYDROXYPHENYLACETATE-DEGRADATION-PWY: 4-hydroxyphenylacetate degradation 7ALPHADEHYDROX-PWY: cholate degradation (bacteria,anaerobic)
C2 889.944 0 0
C2 931.451 0 0
C2 795.362 0 0
C2 840.724 0 0
C2 732.173 0 0
C2 908.025 0.843261 0
C2 733.818 0.518661 0
C2 842.462 1.82225 0
C2 843.887 0 0
C2 823.395 0 0
C2 713.35 0.699201 0.534327
C2 859.136 0.604455 0
C2 871.477 0 0
C2 763.695 0 0
C2 835.966 0 0
C2 781.925 0 0
C2 1010.87 0 0
C2 936.106 0 0
C2 738.947 1.9034 0
C2 988.541 0 0
S1 838.256 0 0
S1 758.363 0 0
S1 1022.51 0 0
S1 1016.61 0 0
S1 908.64 0 0
S1 941.786 0 0
S1 999.038 0 0
S1 914.317 0 0
S1 1053.07 0 0
S1 876.61 0 0
S1 793.693 0 0
S1 916.2 0 0
S1 1108.61 0 0
S1 938.456 0 0
S1 825.406 0 0
S1 1332.52 0 0
S1 1198.65 0 0
S1 1005.4 0 0
S1 826.529 0 0
S1 1170.82 0.624429 0
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)