为 pandas DataFrame 创建另一个索引,就像 SQL 中的 CREATE INDEX 一样

fun*_*on2 5 python indexing pandas

我可以在 pandas DataFrame 的现有列上创建另一个索引吗?就像CREATE INDEXSQL 中所做的那样。例如:我的 DataFrame 有两列id_aid_b,它们对于每一行都是唯一的,我想有时用 索引行,id_a有时用 索引行id_b(所以我认为MultiIndex对我来说不起作用)。id_a我希望这些操作能够快速进行,因此必须为和创建“索引” id_b

我目前可以在 pandas 中做到这一点吗?

小智 1

Pandas DataFrame 对象中不能有 2 个索引。

您必须解决此限制,例如:

  • 通过代码逻辑,
  • 使用其他 Pandas 功能,
  • 使用列和标志取决于需要使用哪一列来索引给定行

操作应该很快。为了获得额外的性能,您可以根据需要调整数据类型。为了匹配哈希映射查找或类似的,您必须在用例中添加更多的想法,并且可能使用不同的逻辑方法和单独的映射/字典或类似的方法。