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

如何将6个重复宽格式DataFrame合并为单个长格式DataFrame?

解决方案:合并重复实验的DataFrame为长格式

步骤1:将每个宽格式DataFrame转为长格式

先把每个GFP和OD的宽表(列对应不同物种)转成以time、media(物种名称)为索引,值为对应参数的长表:

import pandas as pd

# 处理GFP系列数据
gfp1_long = gfp1.melt(id_vars='time', var_name='media', value_name='gfp')
gfp2_long = gfp2.melt(id_vars='time', var_name='media', value_name='gfp')
gfp3_long = gfp3.melt(id_vars='time', var_name='media', value_name='gfp')

# 处理OD系列数据
od1_long = od1.melt(id_vars='time', var_name='media', value_name='od')
od2_long = od2.melt(id_vars='time', var_name='media', value_name='od')
od3_long = od3.melt(id_vars='time', var_name='media', value_name='od')

步骤2:合并同一次重复的GFP和OD数据,添加实验ID

对每一组重复实验(如实验1对应gfp1+od1),按time和media字段合并,同时标记实验编号:

# 拼接实验1的GFP和OD数据
exp1 = pd.merge(gfp1_long, od1_long, on=['time', 'media'])
exp1['experiment'] = 1

# 拼接实验2的GFP和OD数据
exp2 = pd.merge(gfp2_long, od2_long, on=['time', 'media'])
exp2['experiment'] = 2

# 拼接实验3的GFP和OD数据
exp3 = pd.merge(gfp3_long, od3_long, on=['time', 'media'])
exp3['experiment'] = 3

步骤3:合并三个重复实验的最终数据

把三个实验的结果拼接成统一的长格式DataFrame:

final_df = pd.concat([exp1, exp2, exp3], ignore_index=True)

# 调整列顺序(可选,匹配你需要的输出结构)
final_df = final_df[['time', 'experiment', 'media', 'od', 'gfp']]

补充:从文件加载数据的示例

如果你的原始数据存储在CSV等文件中,可先加载为DataFrame:

gfp1 = pd.read_csv('gfp1.csv')
od1 = pd.read_csv('od1.csv')
# 其余文件同理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 05:10:21