0

我有一个看起来像这样的df:

      batch    group  reading  temp  test    block  delay
   0   9551  Control      340  22.9     1    X     35
   1   9551  Control      345  22.9     1    Y    35

我需要按“组”和“块”分组,例如我的方法如下所示:

df.groupby(['block', 'group']).reading.mean().unstack().transpose()

block       X           Y
group                          
Control  347.339450  350.427273
Trial    347.790909  350.668182

在以这种方式切片的数据上调用像 scipy.stats.ttest_ind 这样的 2 参数函数的最佳方法是什么,所以我最终得到了一个 t 测试表

x中的对照与试验

y中的对照与试验

x vs y 控制

x vs y 在试验中

4

1 回答 1

0

您想在应用 t 检验之前对数据进行分组和聚合吗?我认为您想选择数据的子集。分组可以做到这一点,但屏蔽可能会更简单地完成工作。

副手,我会说你想要类似的东西

scipy.stats.ttest_ind(df[(df.group == 'Control') & (df.block == 'X')].reading, 
                      df[(df.group == 'Trial') & (df.block == 'X')].reading)
于 2013-06-06T03:34:03.633 回答