我是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
目前没有回答
相关问题 更多 >
编程相关推荐