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

如何用Pandas按第二列值重塑[N×2]结构的表格?

用Pandas重塑DataFrame的实现方法

假设你的table是包含diag(0/1值)和al(0.0-4.0值)的两列DataFrame,要将其重塑为以al的不同取值为列名、每列对应该al值下所有diag值的表格,可通过以下两种方法实现:

方法一:添加组内索引后Pivot

  1. 先给每个al分组内的记录添加组内序号,确保每个diag在对应分组中有唯一的行位置:
import pandas as pd

# 给每个al分组的元素添加组内行索引
table['row_idx'] = table.groupby('al').cumcount()
  1. 使用pivot方法完成重塑:
# 重塑为目标表格
result = table.pivot(index='row_idx', columns='al', values='diag')

如果不同al分组的diag数量不一致,结果中会出现NaN,可通过fillna()填充(比如result.fillna(0, inplace=True))。

方法二:GroupBy结合Apply直接转换

通过分组后将每个组的diag转为Series,再通过unstack展开为列:

result = table.groupby('al')['diag'].apply(pd.Series).unstack(0)

这种方法会自动生成组内的行索引,最终效果和方法一一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:30:55