【Python】sort_index()的参数level的理解

本文通过实例讲解了如何在`pandas`DataFrame中使用`sort_index()`函数,特别关注level参数对层次化索引排序的影响。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

学习《利用Python进行数据分析》一书的8.1 层次化索引内容时,涉及到使用sort_index()进行排序,原文内容和实例如下:

“sort_index则根据单个级别中的值对数据进⾏排序。交换级别 时,常常也会⽤到sort_index”

学习过程中没有理解level=1的作用,看方法中备注的解释内容也还是没能理解。注释内容是

level : int or level name or list of ints or list of level names  If not None, sort on values in specified index level(s).

于是,更改level的值进一步了解。学习过程代码如下:

import pandas as pd
import numpy as np
frame = pd.DataFrame(np.arange(21).reshape((7,3)),index=[['b','b','c','c','a','a','a'],[1,2,3,1,2,1,2]], columns=[['Ohio','Ohio','Colorado'],['Green','Red','Green']])
print(frame)

输出结果为:

设置sort_index(level=0),查看代码输出效果:

frame1=frame.sort_index(level=0)
print(frame1)

输出结果为:

设置sort_index(level=1),查看代码输出效果:

frame1=frame.sort_index(level=1)
print(frame1)

设置sort_index(level=2),查看代码输出效果:

frame1=frame.sort_index(level=2)
print(frame1)

结果报错了,错误原因如下:

接下来增加frame的层级

import pandas as pd
import numpy as np
frame = pd.DataFrame(np.arange(21).reshape((7,3)),
                     index=[['A','A','C','C','B','B','B'],['b','b','c','c','a','a','a'],[1,2,3,1,2,1,2]],
                     columns=[['Ohio','Ohio','Colorado'],['Green','Red','Green']])
print(frame)

输出结果为:

再次设置sort_index(level=2),查看代码输出效果:

frame1=frame.sort_index(level=2)
print(frame1)

这次没有报错了,所有level的值是按照层次化标签的来进行排序的。

frame1=frame.sort_index(level=0)
print(frame1)

输出结果显示按照第一层级ABC排序

frame1=frame.sort_index(level=1)
print(frame1)

输出结果显示按照第二层级abc排序

frame1=frame.sort_index(level=2)
print(frame1)

输出结果显示按照第二层级1,2,3排序

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值