【问题标题】:Calculate t-test statistic for each group in pandas DataFrame计算 pandas DataFrame 中每个组的 t 检验统计量
【发布时间】:2023-03-11 00:07:01
【问题描述】:

给定一个pandasDataFrame,其中包含groupxy 的列(每个group 值有多个记录),我想创建一个新的DataFrame 一行根据group 和该组中xy 值的相关t 统计量。我想用groupby 来做这件事,而不是循环。

例子:

import pandas as pd
import numpy as np
from scipy import stats

N = 100  # Observations per group.
tt_df = pd.DataFrame({'group': np.append(['A'] * N, ['B'] * N),
                      'x': np.random.randn(2 * N)})
tt_df['y'] = tt_df['x'] + np.random.randn(2 * N)
stats.ttest_ind(tt_df['x'], tt_df['y'])[0]  # -0.32 global t statistic.

【问题讨论】:

    标签: python pandas scikit-learn pandas-groupby


    【解决方案1】:
    tt_df.groupby('group').apply(lambda df: stats.ttest_ind(df['x'], df['y'])[0])
    # group
    # A   -0.292413
    # B   -0.167816
    # dtype: float64
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-23
      • 1970-01-01
      • 2021-07-26
      • 2016-07-23
      • 1970-01-01
      • 2019-10-18
      • 1970-01-01
      相关资源
      最近更新 更多