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

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