【问题标题】:create another index for pandas DataFrame like CREATE INDEX in SQL为 Pandas DataFrame 创建另一个索引,如 SQL 中的 CREATE INDEX
【发布时间】:2021-08-09 23:55:00
【问题描述】:
我可以在现有的 pandas DataFrame 列上创建另一个索引吗?就像 SQL 中的 CREATE INDEX 所做的那样。例如:我的DataFrame有两列id_a和id_b,它们对于每一行都是唯一的,我想有时用id_a索引行,而其他时候用id_b(所以我认为@ 987654326@ 对我不起作用)。我希望这些操作快速,因此必须为id_a 和id_b 创建“索引”。
目前我可以在 pandas 中做到这一点吗?
【问题讨论】:
标签:
python
pandas
indexing
【解决方案1】:
Pandas DataFrame 对象中不能有 2 个索引。
您必须解决此限制,例如:
- 按代码逻辑,
- 使用其他 Pandas 功能,
- 根据需要使用哪一列来索引给定行,使用列和标志
操作应该很快。为了获得额外的性能,您可以根据需要调整 dtypes。要匹配 hashmap 查找或类似查找,您将不得不在您的用例中添加更多思考,并且可能使用具有单独映射/dict 或类似的不同逻辑方法。