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

Pandas多级列索引DataFrame如何选取不同顶层索引下的指定多列

问题原因

你读取到的表格采用多级表头(MultiIndex)结构,ResidualMaturity为无下级子列的一级表头,Last为一级表头Yield下的二级子列,选取多列时需要将每个目标列的完整索引元组放入同一个列表传入。

解决代码

import pandas as pd
import requests

url = 'http://www.worldgovernmentbonds.com/country/japan/'
r = requests.get(url)
df_list = pd.read_html(r.text, flavor='html5lib')
df = df_list[4]
# 按多级索引元组筛选目标列
yc = df[[('ResidualMaturity', ''), ('Yield', 'Last')]]
# 可选:将多级列名展平为单级,方便导出和后续处理
yc.columns = ['ResidualMaturity', 'Yield_Last']
print(yc)
# 导出为csv直接执行:yc.to_csv('japan_bond_yield.csv', index=False)

注意事项

  • 如果运行提示列不存在,可先执行print(df.columns.tolist())打印所有列的完整索引结构,根据实际返回的元组内容替换筛选列表中的对应值即可,部分场景下无下级子列的列二级索引会和一级索引同名,调整为('ResidualMaturity', 'ResidualMaturity')即可。
  • 展平列名后导出的csv不会出现多级表头冗余行,更适合后续数据处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:15:03