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

Pandas执行stack堆叠操作设置国家为索引时找不到Country列求助

问题排查与修复
  • 问题1:reset_index() 方法默认返回新的DataFrame,不会修改原对象,你调用该方法后没有赋值给data变量,导致Year和Country仍为多级索引,没有转为普通列,后续操作自然找不到Country列。
  • 问题2:set_index('Country') 同样默认返回新对象,未赋值的话操作不会生效。

修正后代码

import pandas as pd

url = 'https://raw.githubusercontent.com/cleibowitz/Module-6/main/Module%206%20Dataset%20-%20GDP%20TRANSPOSED.csv'

data = pd.read_csv(url, index_col = 'Year')
data.columns.name = 'Country'
# 堆叠后直接重置索引转为普通列
data = pd.DataFrame(data.stack().rename('value')).reset_index()
# 筛选2020年数据后设置Country为索引,直接赋值覆盖原变量
data = data.query('Year == 2020').set_index('Country')
print(data)

运行上述代码即可得到你预期的、以国家为索引展示2020年对应数值的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:24:06