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

如何用pandas实现指定DataFrame重塑(pivot_wider/pivot_longer)

Pandas DataFrame 重塑解决方案

直接用melt+pivot组合就能实现你要的效果,步骤如下:

完整代码示例

import pandas as pd

# 构建原始DataFrame
df = pd.DataFrame({
    'date': ['22-01', '22-01', '22-01'],
    'location': ['A', 'B', 'C'],
    'char1': ['a', 'b', 'c'],
    'char2': ['x', 'y', 'z']
})

# 1. 用melt把char1/char2转为行结构
melted = df.melt(id_vars=['date', 'location'], 
                 value_vars=['char1', 'char2'], 
                 var_name='char', 
                 value_name='value')

# 2. 用pivot把location转为列结构
pivoted = melted.pivot(index=['date', 'char'], 
                       columns='location', 
                       values='value').reset_index()

# 3. 调整列名为要求的格式
pivoted.columns = [f'location.{col}' if col not in ['date', 'char'] else col for col in pivoted.columns]

print(pivoted)

输出结果

date   char location.A location.B location.C
0  22-01  char1          a          b          c
1  22-01  char2          x          y          z

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 08:00:28