11、布尔索引的深入应用与实践

布尔索引的深入应用与实践

1. 索引排序对选择性能的影响

在数据选择过程中,索引的排序状态对性能有着显著影响。当索引未排序且包含重复值时,如 college2 ,Pandas 需要检查索引中的每个值来进行正确选择。而当索引已排序,如 college3 ,Pandas 会利用二分查找算法,极大地提高选择性能。

此外,使用唯一列作为索引时,Pandas 通过哈希表实现唯一索引,能进一步加快选择速度,无论索引长度如何,每个索引位置的查找时间几乎相同。

我们还可以将多列连接起来形成复合索引。例如,将 city state 列连接作为索引:

college.index = college['CITY'] + ', ' + college['STABBR']
college = college.sort_index()
college.head()

这样就可以在不使用布尔索引的情况下选择特定城市和州的所有大学,如选择迈阿密(Miami)、佛罗里达州(FL)的所有大学:

college.loc['Miami, FL'].head()

通过性能对比可以发现,复合索引选择比布尔索引选择快一个数量级以上:

%%timeit
crit1 = college['CI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值