我目前正在尝试对我的数据帧的每一行运行单向方差分析(共有519行,每行代表不同的生物分类群,每列代表不同的样本);然而,我不断地得到一个无效的语法错误,我相信我的错误在于我对行的选择。我对python和pandas还比较陌生,所以到目前为止,我的数据帧名称是subb1:
for x in range(0,24):
print(scipy.stats.f_oneway(Subj1.iloc[[x,:],:]))
我该如何遍历这些行以返回每行的方差分析值?在
提前谢谢!在
编辑:我试图将数据帧转换为值,然后像这样运行迭代,但没有效果:(:
^{pr2}$编辑2:我试过了,但它仍然返回(nan,nan)多次:
Subj1Values=Subj1.values
for i in range(0,24):
print(stats.f_oneway(Subj1Values[[i],[0]],Subj1Values[[i],[1]],Subj1Values[[i],[2]],Subj1Values[[i],[3]],Subj1Values[[i],[4]],Subj1Values[[i],[5]]))
itertools.product
可以生成两个项目序列的笛卡尔积。例如因此,要生成所有的行和列对,可以使用
^{pr2}$请注意,您的数据看起来更像是一个数组而不是一个数据帧。数据帧在列的行和列名上有一个索引。这里没有使用任何一个,这表明您不需要使用数据帧。此外,行和列中的值在质量上是相同的。数据帧中的数据通常不是这样。因此,您最好将
Subj1
制作为NumPy数组,而不是Pandas数据帧。在相关问题 更多 >
编程相关推荐