Python - Pandas 索引index的使用

本文摘要:

Python - Pandas 索引index的使用_第1张图片

修改索引列名

修改索引列名为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为
Python - Pandas 索引index的使用_第2张图片
s2为
Python - Pandas 索引index的使用_第3张图片
s1+s2结果为,相同索引b、c分别相加,a、d因无法相加操作返回NaN
Python - Pandas 索引index的使用_第4张图片
*此文仅为个人笔记

你可能感兴趣的:(Pandas,python)