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

如何将Pandas DataFrame转换为适配特定软件的指定格式?

Pandas DataFrame 格式转换方案

常见场景:宽表转长表(匹配你的格式转换需求)

如果原始数据是宽表(每行对应一个样本,多列对应不同基因/指标的数值),目标是转成长表(每行对应一个样本-基因的数值对),用 Pandas 的 melt() 函数就能快速实现。

代码示例

先模拟原始数据结构:

import pandas as pd

# 模拟原始DataFrame
df_raw = pd.DataFrame({
    "Sample": ["S1", "S2", "S3"],
    "GeneA": [12, 24, 36],
    "GeneB": [15, 27, 39],
    "GeneC": [18, 30, 42]
})

执行转换:

# 格式转换核心代码
df_transformed = pd.melt(
    df_raw,
    id_vars=["Sample"],  # 保留作为唯一标识的列
    var_name="Gene",     # 转换后的基因名称列名
    value_name="Value"   # 转换后的数值列名
)

转换后结果结构:

SampleGeneValue
S1GeneA12
S2GeneA24
S3GeneA36
S1GeneB15
S2GeneB27
S3GeneB39
S1GeneC18
S2GeneC30
S3GeneC42

特殊场景调整

如果原始数据有复合表头、多标识列等特殊结构,可灵活调整:

  • 需保留多个标识列:在 id_vars 传入列名列表,比如 id_vars=["Sample", "Group"]
  • 仅转换部分列:用 value_vars 指定目标列,比如 value_vars=["GeneA", "GeneC"]
  • 层级表头:先通过 df.columns = df.columns.map('_'.join) 合并层级,再执行 melt()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 23:25:19