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

如何使用Pandas聚合行格式DataFrame数据并转换为二维矩阵

Pandas长表转二维矩阵实现方法

你需要的行存储格式转二维交叉矩阵的操作,不需要手动写循环逐行填充,直接用Pandas内置的长宽表转换方法就能高效实现。

具体实现步骤

  1. 先处理原始数据的重名列问题:你的示例数据里第一列和第三列都命名为residue,会导致后续方法调用报错,先给三列设置区分度的列名:
# 三列依次对应:行索引值(残基编号)、列名(氨基酸类型)、单元格填充值
df.columns = ["residue_pos", "aa", "value"]
  1. 调用pivot方法完成格式转换:
matrix_df = df.pivot(index="residue_pos", columns="aa", values="value")

执行后得到的matrix_df就是你需要的二维矩阵格式:行索引为L37、L38这类残基编号,列名为N、A、M、R这类氨基酸单字母,单元格对应匹配的数值。

特殊情况处理

如果你的原始数据中存在同一个残基位置+同一个氨基酸对应多条数值记录的情况,直接用pivot会触发报错,这时候可以替换为pivot_table方法,自定义重复值的聚合规则:

# 示例:重复值取第一条记录,也可以根据需求替换为sum(求和)、mean(求均值)等聚合函数
matrix_df = df.pivot_table(
    index="residue_pos",
    columns="aa",
    values="value",
    aggfunc="first"
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 20:43:10