首页 >后端开发 >Python教程 >如何将 Pandas 多索引数据帧转换回其原始单索引形式?

如何将 Pandas 多索引数据帧转换回其原始单索引形式?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-25 00:12:10216浏览

How to Convert a Pandas MultiIndex DataFrame Back to its Original Single-Index Form?

将 Pandas MultiIndex DataFrame 转换回原始形式

使用 Pandas DataFrame 时,通常会执行分组操作来聚合数据。然而,分组后,生成的 DataFrame 可能具有多索引层次结构,这可能具有挑战性。本文讨论了一种将多索引 DataFrame 转换回其原始形式的方法,并使用示例 DataFrame 进行了简单演示。

问题

给定的示例DataFrame 包含多行数据,其中包含“城市”和“名称”列。我们对 DataFrame 执行 GroupBy 操作,使用 count() 函数按“名称”和“城市”进行聚合。生成的分组 DataFrame 具有多索引 ("Name", "City")。

解决方案

将多索引 DataFrame 转换回其原始形式,我们可以使用add_suffix()和reset_index()函数。 add_suffix() 函数为列名添加后缀,reset_index() 函数将多索引转换为单索引 DataFrame。

g1.add_suffix('_Count').reset_index()

生成的 DataFrame 将包含原始行以及附加的行列“_Count”表示“名称”和“城市”每个组合的计数。

替代方法

转换多索引DataFrame的另一种方法是使用DataFrame()函数和size()函数创建一个新的DataFrame来计算“Name”和“的每个组合的行数City"。

DataFrame({'count' : df1.groupby( [ "Name", "City"] ).size()}).reset_index()

此方法不需要使用 add_suffix() 函数,但会生成具有单个“count”列的 DataFrame而不是为多索引的每个级别单独的计数列。

通过利用这些方法,可以轻松地将多索引 DataFrame 转换回其原始形式,从而促进进一步的数据操作和分析任务。

以上是如何将 Pandas 多索引数据帧转换回其原始单索引形式?的详细内容。更多信息请关注PHP中文网其他相关文章!

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