在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】:
如果找到索引的第一个值,您需要 isin
IIUC:
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中查找与数据框元素列表相对应的索引列表的主要内容,如果未能解决你的问题,请参考以下文章