【问题标题】:How to flatten a multi-level columns in pandas如何展平熊猫中的多级列
【发布时间】:2022-01-24 09:32:58
【问题描述】:

请看上面excel中的数据。使用 df.columns 时,这是打印输出:

Index(['Country of Citizenship', '2015', 'Unnamed: 2', 'Unnamed: 3',
   'Unnamed: 4', 'Unnamed: 5', 'Unnamed: 6', 'Unnamed: 7', 'Unnamed: 8',
   'Unnamed: 9',
   ...
   'Unnamed: 108', 'Unnamed: 109', 'Unnamed: 110', 'Unnamed: 111',
   'Unnamed: 112', 'Unnamed: 113', 'Unnamed: 114', 'Unnamed: 115',
   'Unnamed: 116', 'Unnamed: 117'],
  dtype='object', length=118)

我想将此多级列转换为单级列,列名更改为 2015-Jan。非常感谢您的帮助

【问题讨论】:

  • 你好,请发布一个最低限度的工作示例。此处不推荐图片。

标签: python pandas dataframe


【解决方案1】:

您可以将 excel 文件读入具有多索引的 pandas 数据帧,如下例所示:

import pandas as pd

df = pd.read_excel('your_file.xlsx', 
                   header=[0,1,2], 
                   index_col=[0])

如果您想知道如何导航和使用多索引,我推荐:this guide on indexes

另外还有很多关于 Multiindex 的 Stackoverflow 问题。

没有示例数据很难显示,但基本上为了展平多索引,您可以这样做:

df.columns = df.columns.to_flat_index()

【讨论】:

  • 谢谢。解决了。​​
猜你喜欢
  • 2021-02-03
  • 2022-01-12
  • 2021-08-19
  • 1970-01-01
  • 2019-07-21
  • 1970-01-01
  • 2018-11-21
  • 1970-01-01
  • 2021-10-27
相关资源
最近更新 更多