看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas.MultiIndex.from_tuples
是一个类方法,用于通过元组列表创建 MultiIndex
对象。每个元组代表 MultiIndex
的一个索引条目,每个元素对应 MultiIndex
的不同层次。它特别适合用于直接创建具有多个层次的数据结构。
pandas.MultiIndex.from_tuples
的签名如下:
classmethod MultiIndex.from_tuples(
tuples,
sortorder=None,
names=None
)
tuples
:
必须传递的参数。它是一个包含元组的列表或数组,每个元组中的元素分别对应 MultiIndex
的不同层次。
MultiIndex
的条目,每个条目中的元素对应不同层次的索引值。所有元组的长度应该一致,代表 MultiIndex
的层次数。sortorder
:
可选参数。指定 MultiIndex
的排序顺序。
None
MultiIndex
的某一层按升序排序。sortorder
表示排序的层次号,从 0
开始编号。默认情况下不会进行排序。names
:
可选参数。指定每个层次的名称。
MultiIndex
的各个层次指定名称。可以是包含多个名称的列表,也可以是单个名称。默认情况下,层次名称未定义。MultiIndex
对象,索引基于提供的元组列表。MultiIndex.from_tuples
适合在你已经有明确的多层索引结构(通过元组定义)的情况下使用。它能快速将元组列表转化为 MultiIndex
,便于对分层数据进行高效操作。
MultiIndex
import pandas as pd
# 使用 from_tuples 创建两层索引
tuples = [('a', 1), ('a', 2), ('b', 1), ('b', 2)]
multi_index = pd.MultiIndex.from_tuples(tuples, names=['letter', 'number'])
# 输出 MultiIndex
f"MultiIndex:\n{multi_index}\n"
输出:
MultiIndex:
MultiIndex([('a', 1),
('a', 2),
('b', 1),
('b', 2)],
names=['letter', 'number'])
# 创建 DataFrame,并使用 MultiIndex 作为行索引
df = pd.DataFrame({'value': [10, 20, 30, 40]}, index=multi_index)
# 输出 DataFrame
f"DataFrame with MultiIndex:\n{df}\n"
输出:
DataFrame with MultiIndex:
value
letter number
a 1 10
2 20
b 1 30
2 40
MultiIndex.from_tuples
是一种便捷的方式,将元组列表转换为多层索引。它的主要应用场景是在处理分层数据时,可以通过元组列表定义多维索引,从而方便对数据进行复杂的查询和分析。
更新时间:Oct. 23, 2024, 8:52 p.m. 标签:pandas python 多层索引