You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中创建支持指定数据框和列的T-Test自定义函数

自定义t检验函数实现

你可以将可变参数(数据框、检验列、分组规则、分组名称)都抽离为函数入参,实现复用,具体代码如下:

基础版实现

import researchpy as rp
import pandas as pd

def custom_ttest(df, test_col, group_col='Q8_5', group1_value=0, group1_name='Nascent', group2_value=2, group2_name='Established'):
    # 提取两组待检验数据
    group1_data = df[test_col][df[group_col] == group1_value]
    group2_data = df[test_col][df[group_col] == group2_value]
    # 执行t检验
    summary, results = rp.ttest(
        group1=group1_data,
        group1_name=group1_name,
        group2=group2_data,
        group2_name=group2_name
    )
    return summary, results

调用示例

  • 对dfEnt的HA列执行默认规则的t检验(对应你原有代码逻辑):
    summary, results = custom_ttest(df=dfEnt, test_col='HA')
    
  • 对dfSel的IA列执行t检验:
    summary, results = custom_ttest(df=dfSel, test_col='IA')
    
  • 自定义分组规则调用:
    summary, results = custom_ttest(
        df=自定义数据框,
        test_col='自定义检验列名',
        group_col='自定义分组列名',
        group1_value=第一组筛选值,
        group1_name='第一组展示名',
        group2_value=第二组筛选值,
        group2_name='第二组展示名'
    )
    

加入入参校验的增强版

如果需要提前捕获异常避免报错,可以加入基础的入参校验逻辑:

def custom_ttest(df, test_col, group_col='Q8_5', group1_value=0, group1_name='Nascent', group2_value=2, group2_name='Established'):
    # 校验列是否存在
    if test_col not in df.columns:
        raise ValueError(f"待检验列 {test_col} 不存在于输入数据框中")
    if group_col not in df.columns:
        raise ValueError(f"分组列 {group_col} 不存在于输入数据框中")
    # 提取数据并去除空值
    group1_data = df[test_col][df[group_col] == group1_value].dropna()
    group2_data = df[test_col][df[group_col] == group2_value].dropna()
    # 校验数据有效性
    if len(group1_data) == 0 or len(group2_data) == 0:
        raise ValueError("其中一组或两组无有效可计算数据,请检查分组条件与待检验列数据质量")
    # 执行检验
    summary, results = rp.ttest(
        group1=group1_data,
        group1_name=group1_name,
        group2=group2_data,
        group2_name=group2_name
    )
    return summary, results

内容的提问来源于stack exchange,提问作者fredooms

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 18:54:04