我是python的新手,我找不到问题的解决方案,因为我甚至不确定我在找什么,或者我应该在google上搜索什么。
我有一个包含30列的 Dataframe ,我想使用scipy. stats. friedmanchisquare进行弗里德曼测试
作为一个参数,我需要所有的样本,这是我的df的列。
我尝试了各种方法,但我想不出来:
scipy.stats.friedmanchisquare(df)
lst_cols = ['col1', 'col2', 'col3',..., 'col30']
scipy.stats.friedmanchisquare(df[lst_cols])
lst_cols = ['col1', 'col2', 'col3',..., 'col30']
samples = []
for i in lst_cols:
lst = df[i].tolist()
samples.append(lst)
scipy.stats.friedmanchisquare(samples)
但我总是得到错误:Friedman检验至少需要3组样本,得1
我知道我似乎总是传递一个列表/一个df。我怎么能把列表的元素作为单独的示例使用呢?
问候语
2条答案
按热度按时间nzrxty8p1#
尝试在list之前使用
*
,它将list扩展为值甚至简单
q9yhzks02#
当调用一个接受多个参数的函数时,可以使用列表(或任何序列)作为
*
运算符的独立参数:因此,只需在列前面粘贴一个
*
: