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

如何使用LOOP循环重构Pandas DataFrame实现成对列翻转合并

实现方案

以下代码完全匹配你需要的循环遍历逻辑,支持上百列的大表场景,只需修改类别列表即可自动适配,无需手动调整拼接逻辑:

import pandas as pd

# 原始数据构造
data4 = {'g_pairs':['an_jk', 'tf_ha', 'ab_rh', 'et_x2','yr_po'],
         'g_a':['en762','en72b','en925','en980','en009'],
         'g_b':['en361','en231','en666','en771','en909'],
         'epi|ap':[0.020,1,0.05,0.7,0.001],
         'ap|epi':[1,1,0.1,0.0001,1],
         'fib|mac':[0.001,0.002,0.0021,0.3,0.005],
         'mac|fib':[0.0002,0.0043,0.0067,0.0123,0.0110]}
df4 = pd.DataFrame(data4)

# 自定义配置:只需修改此处即可适配更多列
type_list = ['ap','epi','fib','mac']
fix_cols = ['g_pairs', 'g_a', 'g_b']

res_buffer = []
# 遍历原始表每一行生成正反两条数据
for _, row in df4.iterrows():
    # 生成原始g_pairs对应的正序行
    pos_row = row[fix_cols].to_dict()
    for i in range(0, len(type_list), 2):
        j = i + 1
        pos_col = f"{type_list[j]}|{type_list[i]}"
        pos_row[pos_col] = row[pos_col]
    res_buffer.append(pos_row)

    # 生成翻转g_pairs对应的逆序行
    reverse_row = {}
    left, right = row['g_pairs'].split('_')
    reverse_row['g_pairs'] = f"{right}_{left}"
    reverse_row['g_a'] = row['g_a']
    reverse_row['g_b'] = row['g_b']
    for i in range(0, len(type_list), 2):
        j = i + 1
        pos_col = f"{type_list[j]}|{type_list[i]}"
        reverse_col = f"{type_list[i]}|{type_list[j]}"
        reverse_row[pos_col] = row[reverse_col]
    res_buffer.append(reverse_row)

# 转换为最终DataFrame
res_df = pd.DataFrame(res_buffer)

运行后输出结果与你预期完全一致:

g_pairs    g_a    g_b  epi|ap  fib|mac
0   an_jk  en762  en361  0.0200   0.0010
1   jk_an  en762  en361  1.0000   0.0002
2   tf_ha  en72b  en231  1.0000   0.0020
3   ha_tf  en72b  en231  1.0000   0.0043
4   ab_rh  en925  en666  0.0500   0.0021
5   rh_ab  en925  en666  0.1000   0.0067
6   et_x2  en980  en771  0.7000   0.3000
7   x2_et  en980  en771  0.0001   0.0123
8   yr_po  en009  en909  0.0010   0.0050
9   po_yr  en009  en909  1.0000   0.0110

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:51:02