【发布时间】:2021-12-07 06:47:20
【问题描述】:
在这里,我正在寻找在名为“word”的列上具有给定值的行索引,请注意 df 是一个具有许多列但在“word”列上按字母顺序排序的数据框。
这是我的功能
def getIndex(df,givenword):
index=df[df['word']==givenword].index.values[0]
return index
问题是 df 很大(大约 10000k 行),这个函数在 30000 个给定字的循环中调用。搜索性能很糟糕,你能建议一个更好的实现来优化我的功能吗?
【问题讨论】:
-
请提供更多详细信息、输入和预期输出。根据您的描述,您似乎可以使用 isin
-
@DaniMesejo 输出是行号,输入是数据帧 df。例如 getIndex(dataset,"hello") 将返回行索引 570(这个词的索引)。
-
是的,但你有 30000 个不同的单词,对吧?而你正在循环它们?
-
@DaniMesejo 是的,我有一个单词列表,从这个列表中我要检查它是否存在并返回索引。所以我循环每个单词
标签: python pandas dataframe numpy dictionary