【发布时间】:2020-08-02 03:30:48
【问题描述】:
考虑以下示例,我将遍历每一行,将它们分成两个样本,并为每行执行一个统计测试:
for index, row in data.iterrows():
stat, p = mannwhitneyu(row.iloc[:self.neighbors], row.iloc[self.neighbors:], alternative = 'greater')
data.loc[index, 'stat'] = stat
data.loc[index, 'prob'] = p
有什么方法可以加快速度吗?我看到 Apply 或 Vectorization 应该可以改进它,但我真的不知道它是如何实现的,因为我需要逐行执行相同的测试。
感谢您的帮助!
【问题讨论】:
-
mannwhitneyu到底是做什么的? -
嗨@mrzo 这是一个非参数统计检验,用于检查样本 X 和 Y 是否来自同一总体。这是一个 scipy 统计函数:docs.scipy.org/doc/scipy/reference/generated/…