import pandas as pd
from scipy.stats import ttest_ind, levene
# 读取数据
xlsx_a = r'C:\Users\lyp\Desktop\tedata\data_a.xlsx'# 分别是阴性组
xlsx_b = r'C:\Users\lyp\Desktop\tedata\data_b.xlsx'# 阳性组
data_a = pd.read_excel(xlsx_a)
data_b = pd.read_excel(xlsx_b)
# 数据类型转换:将数据转换为数值类型
data_a = data_a.apply(pd.to_numeric, errors='coerce')
data_b = data_b.apply(pd.to_numeric, errors='coerce')
print(data_a.shape, data_b.shape)
# T检验
index = []
for colName in data_a.columns: # 遍历所有特征
if levene(data_a[colName], data_b[colName])[1] > 0.05: # 如果P > 0.05说明有方差齐性
if ttest_ind(data_a[colName], data_b[colName])[1] < 0.05:# 则进行t检验
index.append(colName) # 独立样本 T 检验结果具有显著性差异的加入 index 列表
else: # 如果不具有方差齐性,equal_var=False,执行Welch’s 检验
if ttest_ind(data_a[colName], data_b[colName], equal_var=False)[1] < 0.05:
index.append(colName)
print(len(index))
print(index)
特征筛选第一步:T检验
最新推荐文章于 2024-07-10 09:15:55 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)