首页 >后端开发 >Python教程 >如何展平 Pandas 中的分层列索引?

如何展平 Pandas 中的分层列索引?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-07 17:44:13790浏览

How to Flatten a Hierarchical Column Index in Pandas?

展平分层索引列

要展平 Pandas DataFrame 列中的分层索引,请按照以下步骤操作:

1.将列设置为顶级:

df.columns = df.columns.get_level_values(0)

这会将分层索引的顶级设置为新列名称。

2.将 MultiIndex 合并为单个索引(可选):

如果您想进一步将 MultiIndex 合并为单个索引,可以执行以下操作:

df.columns = [' '.join(col).strip() for col in df.columns.values]

这将加入列名使用空格作为分隔符,去除任何前导或尾随空格。

示例:

考虑以下在列中具有分层索引的 DataFrame:

df = pd.DataFrame({'s_PC': [1, 0, 1], 's_CL': [0, 0, 10]},
                    index = pd.MultiIndex.from_tuples([
                        ('day', 1),('day', 2),('day', 3)
                    ]), columns = pd.MultiIndex.from_tuples([
                        ('USAF', ''),('WBAN', ''),('year', 1993)
                    ]))

应用扁平化操作:

# Set columns to top level
df.columns = df.columns.get_level_values(0)

# Join MultiIndex into single index
df.columns = [' '.join(col).strip() for col in df.columns.values]

输出:

   USAF  WBAN  year  day  s_PC  s_CL
0   702   265  1993   1     1     0
1   702   265  1993   2     0     0
2   702   265  1993   3     1    10

分层索引已被展平为单个索引。

以上是如何展平 Pandas 中的分层列索引?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn