使用Panda / Numpy搜索匹配的字符串

问题描述 投票:1回答:2

我一直试图解决这个问题一段时间,但还没有到任何地方。我的目标是在名为“WORDS”的列中搜索字符串并返回“INDEXED_NUMBER”。例如,如果我搜索'aaa',它应该返回0,如下表所示。

Sample table

我正在使用python panda,也可能正在尝试numpy。以下是我尝试过的代码示例:

def WordToIndexwithjustPanda():
    referenceDF[referenceDF['WORDS'].str.contains('aaa')]
    #I was hoping that it will grab me the row with the word 'aaa' but 
    #it is not returning me anything

def WordToIndexwithNumpy():
    np.where(referenceDF["WORDS"].str.contains('aaa'))
    #I think this is wrong but I am not sure how is this wrong

我希望你们能指导我使用它的正确方法。我正在使用anaconda提示和jupyter笔记本作为附加说明。我进口了熊猫和numpy。

提前致谢。 XD

python pandas numpy
2个回答
1
投票

使用qazxsw poi和qazxsw poi并且不要忘记添加qazxsw poi到功能,也可以返回标量需要locboolean indexing选择过滤return的第一个值如果过滤返回没有行:

iat

您还可以使用函数中的参数来检查第一次出现的值:

Series

1
投票

这是使用生成器实现算法的一种方法:

if-else

严格来说,它只使用pandas,因为它使用了def WordToIndexwithjustPanda(): a = referenceDF.loc[referenceDF['WORDS'].str.contains('aaa'), 'INDEXED_NUMBER'] return 'No match' if a.empty else a.iat[0] 的迭代功能。

© www.soinside.com 2019 - 2024. All rights reserved.