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

合并多数据库ID生成同ID多行数据集并整合结果列需求

问题1:合并多ID数据集为多行格式

假设df1、df2、df3均包含ID和tstart列,直接按行拼接即可保留所有样本的ID与对应tstart值,重复ID会自动形成多行:

import pandas as pd

# 示例数据
df1 = pd.DataFrame({'ID': ['A', 'B'], 'tstart': [10, 20]})
df2 = pd.DataFrame({'ID': ['B', 'C'], 'tstart': [25, 30]})
df3 = pd.DataFrame({'ID': ['A', 'C', 'D'], 'tstart': [15, 35, 40]})

# 合并成多行数据集
merged_df = pd.concat([df1, df2, df3], ignore_index=True)
print(merged_df)

输出示例:

ID  tstart
0  A      10
1  B      20
2  B      25
3  C      30
4  A      15
5  C      35
6  D      40
问题2:整合多列结果到单一非NA列

针对包含ID、tstart、t stop、results 1、result 2的数据集,可将结果列转为长格式后过滤NA值:

# 示例数据
original_df = pd.DataFrame({
    'ID': ['A', 'B', 'C'],
    'tstart': [10, 20, 30],
    't stop': [15, 25, 35],
    'results 1': [5.2, None, 7.1],
    'result 2': [None, 6.3, 7.5]
})

# 整合结果列
melted_df = original_df.melt(
    id_vars=['ID', 'tstart', 't stop'],
    value_vars=['results 1', 'result 2'],
    value_name='result'
).dropna(subset=['result'])

# 清理冗余列并重置索引
final_df = melted_df.drop(columns='variable').reset_index(drop=True)
print(final_df)

输出示例:

ID  tstart  t stop  result
0  A      10      15     5.2
1  C      30      35     7.1
2  B      20      25     6.3
3  C      30      35     7.5

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 22:41:05