在Python中查找与数据框元素列表相对应的索引列表

Posted

技术标签:

【中文标题】在Python中查找与数据框元素列表相对应的索引列表【英文标题】:Finding list of index corresponding to list of element of a dataframe in Python 【发布时间】:2016-12-31 10:23:30 【问题描述】:

我有一个包含数百万行的数据框。我需要获取原始数据框中存在的数十万个元素的相应索引。

我目前使用这个代码:

df[df['processed_col'] == element.index[0]

找到'element'在整个数据框中的位置。

有没有办法将像element1, element2,..., elementN 这样的列表作为输入,而不是做一个很长的循环,这将返回一个相应索引的列表:

df[df['processed_col'] == [element1, element2, ..., elementN].index[0]

【问题讨论】:

嗯,你需要df[df['processed_col'].isin([element1, element2,..., elementN])].index[0] 抱歉,您的问题不清楚,您是要df[df['processed_col'].isin(some_list)].index吗? @jezrael 我认为 OP 想要索引值存在的值,index[0] 将返回第一个索引值 是的,如果只需要第一个值,使用index[0],如果需要所有值,使用index... 【参考方案1】:

如果找到索引的第一个值,您需要 isinIIUC:

df[df['processed_col'].isin([element1, element2,..., elementN])].index[0]

或者如果想要索引的所有值,只删除[0]

df[df['processed_col'].isin([element1, element2,..., elementN])].index

如果需要转换为列表使用tolist:

df[df['processed_col'].isin([element1, element2,..., elementN])].index.tolist()

【讨论】:

以上是关于在Python中查找与数据框元素列表相对应的索引列表的主要内容,如果未能解决你的问题,请参考以下文章

如何在python列表中查找某个元素的索引

在python列表中查找特定列的元素的索引

如果一列中存在数字,则在另一列中查找与该数字相对应的值

python怎么获取list的某个元素的位置

根据索引在熊猫数据框中查找特定列的值[重复]

按给定列表的顺序选择重复的熊猫数据框行并保留原始索引