布尔索引的应用与技巧
1. 索引排序对选择性能的影响
在数据选择过程中,索引的排序状态会显著影响选择性能。当索引未排序且包含重复值时,pandas 需要检查索引中的每个值以进行正确选择。而当索引已排序时,pandas 会利用二分查找算法来大幅提高性能。此外,使用唯一列作为索引时,pandas 会通过哈希表实现唯一索引,从而实现更快的选择,无论索引长度如何,每个索引位置的查找时间几乎相同。
1.1 复合索引与布尔索引的速度比较
可以通过将多个列连接起来形成复合索引,以实现更高效的数据选择。例如,将 city 和 state 列连接起来作为索引:
college.index = college['CITY'] + ', ' + college['STABBR']
college = college.sort_index()
college.head()
然后可以直接选择特定城市和州的所有学院,而无需使用布尔索引:
college.loc['Miami, FL'].head()
通过 timeit 比较复合索引选择和布尔索引的速度:
%%timeit
crit1 = college['CITY'] == 'Miami'
crit2 = college['STABBR'] ==
超级会员免费看
订阅专栏 解锁全文
783

被折叠的 条评论
为什么被折叠?



