|pandas中最重要的index有哪些使用场景

|pandas中最重要的index有哪些使用场景

index 索引
index是pandas中DataFrame数据类型必不可少的 , 实际上在很多数据分析的情况下没有完全使用到index的特性 。

  • 方便查询
  • 提升性能提升
  • 自动的数据对齐功能
  • 强大的数据结构支持
# 设置index
df.set_index()
# 两个比较重要的参数 inplace这个就不用看了  drop 默认为True 将一列设置为索引后会删除这一列数据

# 将索引排序
df.sort_index()
查询
  • 如果index是唯一的pandas会优化为哈希表那么查询速度为o(1)
  • 如果index不是唯一但有序那么pandas会使用二分查速度为o(logn)
  • 如果是完全随机那么就要全盘扫描了速度为o(n)
如果索引不是唯一的那么最好提前将索引排序之后再进行查询明显有提升
# 标准使用loc列字段 查询方法
df.loc[df[\"id\"
== 500
.head()

# 使用索引查询
df.set_index(\"id\"inplace=True)
df.loc[500
.head()

# 查询索引是否是递增的 第二快
df.index.is_monotonic_increasing

# 查询索引是否是唯一的 哈希表查 最快
df.index.is_unique
自动对齐数据se1 = pd.Series([123
index=list(\"abc\"))

se2 = pd.Series([123
index=list(\"bcd\"))


# 此时两个Series会根据index自动对齐相加类似于外连接 但是两个表独有的a和d会显示为空值
se1+se2

其他Cate其他goricalIndex
基于分类数据的index提升性能
MultiIndex
多维用于groupby分组多维聚合后的结果
DatetimeIndex
【|pandas中最重要的index有哪些使用场景】基于时间类型的索引