在 Pandas 的列中展平层次索引
本文将讨论如何在 Pandas Dataframe 列中展平分层索引。
Groupby 聚合函数通常用于创建分层索引。使用的聚合函数将在结果 DataFrame 的分层索引中可见。
我们将使用不同的函数来解释如何在列中展平层次索引。
使用 rest_index()
在 Pandas 的列中展平层次索引
Pandas 中的 reset_index()
函数将 groupby 聚合函数创建的分层索引展平。
语法:
pandas.DataFrame.reset_index(level, drop, inplace)
其中,
level
:仅从索引中删除指示的级别。drop
:索引重置为默认整数索引。inplace
:不复制,永久修改 DataFrame 对象。
我们使用 Pandas groupby()
函数按季度对巴士销售数据进行分组,并使用 reset_index()
pandas 函数来展平分组 DataFrame 的分层索引列。
首先,导入 Python Pandas 库,然后创建一个简单的 DataFrame。DataFrame 存储在 data_bus
变量中。
import pandas as pd
data_bus = pd.DataFrame(
{
"bus": ["2x", "3Tr", "4x", "5x"],
"bus_sale_q1": [21, 23, 25, 27],
"bus_sale_q2": [12, 14, 16, 18],
},
columns=["bus", "bus_sale_q1", "bus_sale_q2"],
)
print(data_bus)
输出:
bus bus_sale_q1 bus_sale_q2
0 2x 21 12
1 3Tr 23 14
2 4x 25 16
3 5x 27 18
上面的输出显示了创建的简单 DataFrame。之后,使用 groupby()
函数根据销售额 q1 和 q2 的总和对总线列进行分组。
grouped_data = data_bus.groupby(by="bus").agg("sum")
grouped_data
输出:
bus bus_sale_q1 bus_sale_q2
2x 21 12
3Tr 23 14
4x 25 16
5x 27 18
我们将使用 reset_index()
函数来展平分层索引列。
flat_data = grouped_data.reset_index()
flat_data
输出:
bus bus_sale_q1 bus_sale_q2
0 2x 21 12
1 3Tr 23 14
2 4x 25 16
3 5x 27 18
使用 as_index
在 Pandas 的列中展平层次索引
pandas groupby()
函数将用于按季度对巴士销售数据进行分组,而 as_index
将展平分组 DataFrame 的分层索引列。
语法:
pandas.DataFrame.groupby(by, level, axis, as_index)
其中,
level
:必须对其执行 groupby 操作的列。by
:必须对其执行 groupby 操作的列。axis
:是否沿行 (0) 或列 (1) 拆分。as_index
:对于聚合输出,返回带有索引组标签的对象。
我们将使用 Pandas groupby()
函数按季度对巴士销售数据进行分组,并将 as_index
参数设置为 False。这确保了分组 DataFrame 的分层索引是扁平的。
将使用与上一个示例相同的 DataFrame。
例子:
import pandas as pd
data_bus = pd.DataFrame(
{
"bus": ["2x", "3Tr", "4x", "5x"],
"bus_sale_q1": [21, 23, 25, 27],
"bus_sale_q2": [12, 14, 16, 18],
},
columns=["bus", "bus_sale_q1", "bus_sale_q2"],
)
data_bus
grouped_data = data_bus.groupby(by="bus", as_index=False).agg("sum")
print(grouped_data)
输出:
bus bus_sale_q1 bus_sale_q2
0 2x 21 12
1 3Tr 23 14
2 4x 25 16
3 5x 27 18
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:114 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:55 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:181 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:190 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:140 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:51 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串