使用两个不同大小的熊猫数据框进行 Wilcoxon 测试

问题描述

我有两个不同长度的数据帧(一个是 16,另一个是 28)。我想使用 scipy.stats.wilcoxon 在这两者之间进行 Wilcoxon 检验。 为此,我创建了一个函数

#define FUNC(rettype,memclass) rettype

/// @brief a function.
/// @param param a function parameter.
FUNC(void,PUBLIC_CTX) my_fun1(int* param);

/// @brief a function.
FUNC(int,PUBLIC_CTX) my_fun2(void);

当数据具有相同大小时它运行良好,但我正在使用不同大小的数据帧,它给了我这个错误def wilcoxon_test(df1,df2): list_col_1 = df1.columns list_col_2 = df2.columns for i in range(0,len(list_col_1)): name = list_col_1[i] for j in range(0,len(list_col_2)): name_check = list_col_2[j] if name_check == name: stat,pvalue = stats.wilcoxon(df1[name],df2[name_check]) print("Wilcoxon test of {} and {}: stat = {},pvalue = {}".format(name,name_check,stat,pvalue)) if pvalue < 0.01: print("Pvalue between {} and {} < 0.01".format(name,name_check)) return None

在这post 上看到在 R 上讨论这个问题,你可以通过传递 paired: FALSE 来实现。这样做,相当于进行了 Mann-Whitney 检验。

有没有办法用 scipy.stats.wilocoxon 在 Python 上做同样的事情,还是我应该直接使用 scipy.stats.mannwhitneyu

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)