python分层函数 python 分层架构( 二 )


分层或多级次索引的存在是非常有意义的,因为它打开了复杂的数据分析和操作的大门,特别是处理高维数据
从本质上讲 , 它允许您在较低维度的数据结构包括Series(1d)和DataFrame(2d)中存储和操作任意维度的数据
在本节中,我们将展示分层索引的确切含义,以及如何结合前面介绍的所有pandas索引功能使用
在 0.24.0 版本之后,MultiIndex.label重命名为MultiIndex.codes。MultiIndex.set_labels重命名为MultiIndex.set_codes .
MultiIndex对象是标准Index对象的分层模式 , 它通常在pandas对象中存储轴标签
你可以把MultiIndex看成一个元组数组 , 其中每个元组都是唯一的 。MultiIndex有如下创建方式
当传递给Index构造函数一个元组列表时,它将尝试返回一个MultiIndex。
下面的示例演示了初始化MultiIndex的不同方法 。
当你想要对两个可迭代对象中的每个元素进行两两配对时,可以使用MultiIndex.from_product()
您也可以使用MultiIndex.from_frame()方法直接从DataFrame中构造一个MultiIndex。
为了方便起见 , 你可以直接将数组列表传递给Series或DataFrame的index参数来自动构造一个MultiIndex
所有的MultiIndex构造函数都接受一个name参数 , 该参数存储索引级别的名称 。如果没有设置,则值为None
索引可以放在任何轴上 , 索引的层级也可以随你设置
这已经简化了较高层次的索引,使控制台的输出更容易看清 。
注意 ,索引的显示方式可以通过pandas.set_options()中的multi_sparse选项来控制 。
值得注意的是,将元组用作轴上的原子标签也是可以的
多索引之所以重要,是因为它允许您执行分组、选择和重塑操作,我们将在下面以及后续部分中描述这些操作
get_level_values()方法能够返回特定级别的标签向量
分级索引的一个重要特性是,您可以通过标识数据中的子组的部分标签来选择数据
部分选择以一种完全类似于在常规DataFrame中选择列的方式,返回的结果会 "降低" 分层索引的级别
MultiIndex会保留索引的所有已经定义了的级别,尽管它们实际上可能并没有被使用 。
在对索引进行切片时,您可能会注意到这一点 。例如
这样做的目的是为了避免重新计算级别,以提高切片的性能 。如果你只想看某一级别,可以使用get_level_values()方法
可以使用remove_unused_levels()方法重构MultiIndex
在具有MultiIndex的不同索引对象之间的操作会自动对齐
Series/DataFrames的reindex()方法可以传入一个MultiIndex  , 甚至可以是一个元组列表或元组数组
【python分层函数 python 分层架构】python分层函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python 分层架构、python分层函数的信息别忘了在本站进行查找喔 。

推荐阅读