【发布时间】:2020-06-06 12:25:48
【问题描述】:
如果这个问题似乎是重复的,请原谅我,但我找不到符合我确切要求的答案:
我有一个名为“df”的 z 分数数据框,其结构如下:
score_1 score_2 score_3 score_4
1 0.15 0.20 0.81 0.60
2 0.70 0.55 0.84 0.50
3 0.90 0.33 0.54 0.07
我想创建一个新列“z_score_combined”,其中包含每行的组合 z 分数。
在这种情况下,z 分数将使用 scipy.stats 中的“combine_pvalues”函数进行组合。 更多信息请阅读:https://docs.scipy.org/doc/scipy-0.16.0/reference/generated/scipy.stats.combine_pvalues.html
函数结构如下:
combine_pvalues(z-score-array, method='stouffer', weights=None)
在函数中,“z-score-array”是每行的 z-score 数组。例如,“array_1”将是“df”中索引为 1 的行的 z 分数数组;即 array_1 = [(0.15, 0.20, 0.81, 0.60)], array_2 = [(0.70, 0.55, 0.84, 0.50)] 等等。
我将如何创建一个辅助函数:
- 遍历数据框的行,“df”;
- 创建一维 Numpy 数组对象,“z-score-array”;
- 将数组输入函数:combine_pvalues(z-score-array, method='stouffer', weights=None),用于计算组合 z_score;
- 将组合 z 分数附加到数据帧“df”中的“z_score_combined”新列;
- 输出更改后的版本数据帧“df”,其中包含组合 z 分数的新列。
提前谢谢你!
【问题讨论】:
-
只接受一个答案,不能同时接受。
标签: python pandas numpy scipy helper