Python - Pandas 索引index的使用

本文摘要:

在这里插入图片描述

修改索引列名

修改索引列名为id

df.index.name = 'id'

修改索引起始值

自动生成的索引从100开始

df.index = df.index + 100

将数据某一列设为索引

将userid列设为索引列,inplace=True表示在原df上修改,drop=False表示保留userid列,默认删除userid列。

# 将userid列设为索引列
df.set_index('userid', inplace=True, drop=False)# 若修改后可以这么查询userid为500的数据
df.loc[500]
# 相当于
df.loc[df['userid'] == 500]

使用index提升查询性能

  • 如果index是唯一的,Pandas会使用哈希表优化,查询性能为O(1);
  • 如果index不是唯一的,但是有序,Pandas会使用二分查找算法,查询性能为O(logN);
  • 如果index是完全随机的,那么每次查询都要扫描全表,查询性能为O(N);
# 判断index是否递增
df.index.is_monotonic_increasing# 判断index是否唯一
df.index.is_unique

index自动对齐数据

import pandas as pd
s1 = pd.Series([1,2,3], index=list('abc'))s2 = pd.Series([2,3,4], index=list('bcd'))s1+s2

s1为
在这里插入图片描述
s2为
在这里插入图片描述
s1+s2结果为,相同索引b、c分别相加,a、d因无法相加操作返回NaN
在这里插入图片描述
*此文仅为个人笔记


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部