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

如何在Python DataFrame中将列字段转换为多列并重组数据

解决方法

你要实现的是将长格式DataFrame转换为宽格式,用Pandas的pivot()方法就能轻松完成,步骤如下:

1. 核心代码

假设你已经导入了Pandas并创建了df1,直接运行以下代码:

import pandas as pd

# 转换格式
df2 = df1.pivot(
    index='Load',          # 以Load列的值作为行的唯一标识
    columns='counter_name',# 将counter_name的取值转为新列名
    values='counter_value' # 用counter_value的值填充对应位置
).reset_index()            # 把Load从索引转回普通列

# 移除列名上方的层级标签(让结果完全匹配你的需求格式)
df2 = df2.rename_axis(None, axis=1)

2. 代码解释

  • pivot()是Pandas专门用于行列转换的函数,完美适配这种"一行对应单个属性"转"一行对应完整记录"的场景
  • reset_index():默认pivot会把Load设为行索引,用这个方法可以把它变回普通列,和你要的df2结构完全一致
  • rename_axis(None, axis=1):去掉列名顶部自动生成的counter_name标签,让列名直接显示为bytes_read、locks等

3. 最终结果

运行后得到的df2结构如下:

Load  bytes_read  bytes_written  last_time  locks
0     0           0             90        100     90
1     1          10            940       1100    910
2     2          11            910       1100   9120

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 06:03:15