如何将for循环结果转换为列表?附Python t检验循环代码
修改方案
要把循环的运行结果收集到列表中,只需初始化一个空列表,在符合条件时将结果添加进去即可,修改后的代码如下:
# 初始化空列表用于存储结果 result_list = [] for x in column_list: des, res = rp.ttest(group1=df[x][df['patients'] == 1], group1_name="Patients", group2=df[x][df['patients'] == 0], group2_name="Controls") res1 = res.set_index('Independent t-test').T # 提取p值并转为标量(因为values返回的是numpy数组) y = res1['Two side test p value = '].values[0] if y < 0.005: # 将符合条件的列名和p值以元组形式添加到列表 result_list.append( (x, y) ) # 查看最终结果列表 print(result_list)
关键修改点:
- 循环前新增
result_list = [],创建空列表用于存储结果 - 调整
y的取值:原代码中y是numpy数组,通过[0]提取为单个标量值,避免后续比较或存储时的类型问题 - 将原
print(x,y)替换为result_list.append( (x, y) ),把符合条件的列名和p值以元组形式存入列表 - 循环结束后可直接使用
result_list获取所有符合条件的结果
内容的提问来源于stack exchange,提问作者jw32022
相关产品推荐
相关产品推荐

