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

如何在Jupyter Notebook中转置DataFrame的部分数据?

解决方法

你需要的是将长格式数据转换为宽格式,而非直接对整个DataFrame转置。用Pandas的pivot()方法就能精准实现需求,且适配你这种大型数据集:

代码实现

假设数据集已加载为Pandas DataFrame df,执行以下代码:

# 重塑数据:Region作为行,Date作为列,填充对应Value
pivoted_df = df.pivot(index='Region', columns='Date', values='Value')
# 将Region从索引转回普通列
pivoted_df = pivoted_df.reset_index()
# 移除列名的层级标签(可选,让输出更整洁)
pivoted_df.columns.name = None

代码说明

  • pivot(index='Region', columns='Date', values='Value'):指定以Region为行分组依据,Date的不同取值作为新列,Value填充对应位置的数值,完全匹配你要的输出结构。
  • reset_index():因为pivot会把Region设为索引,这一步将它转回普通列,和示例输出一致。
  • 移除columns.name是为了去掉输出中列名上方的Date标签,让表头更简洁。

特殊情况处理

如果数据中存在同一Region+Date组合对应多个Value的情况,改用pivot_table()并指定聚合函数(比如取均值):

pivoted_df = df.pivot_table(index='Region', columns='Date', values='Value', aggfunc='mean').reset_index()
pivoted_df.columns.name = None

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 18:56:00