何时在 Pandas 中使用自定义索引而不是普通列

Mig*_*ell 5 python numpy pandas

在 pandas 中,您可以使用由任意数量的列组成的索引替换默认的基于整数的索引set_index()

但令我困惑的是,你什么时候想要这样做。无论系列是列还是索引的一部分,您都可以使用列的布尔索引或行的xs()来过滤系列中的值。sort_values()您可以使用或对列或索引进行排序sort_index()

我遇到的唯一真正的区别是,当存在重复值时索引会出现问题,因此似乎使用索引更具限制性(如果有的话)。

那么,为什么我想将我的列转换为 Pandas 中的索引呢?

jez*_*ael 2

在我看来,自定义索引有助于快速选择数据。

它们对于对齐映射数据算术运算(其中索引用于数据对齐)、连接数据以及获取每组的最小或最大行也很有用。

DatetimeIndex非常适合部分字符串索引重采样

但你是对的,重复索引是有问题的,特别是对于重新索引而言。

文件

  • 使用已知指标识别数据(即提供元数据),这对于分析、可视化和交互式控制台显示很重要
  • 启用自动和显式数据对齐
  • 允许直观地获取和设置数据集的子集

您也可以检查Modern pandas-Indexes直接链接