如果在数据框列中找到,则返回字符串的关键字

山姆

我有绳子。我需要查找该字符串中的关键字是否存在于我的数据框中。

如果存在,我需要返回该关键字。

串:

question="Joe is Available"
question=question.upper()
str_list=question.split()
str_list

出[107]:

['JOE', 'IS', 'AVAILABLE']

数据框:

df=pd.DataFrame({"Person1":("Ash","Joe","Harry"),"Person2":("Abe","Lisa","Katty",),"Person3":("Sam","Max","Stone")})
df=df.apply(lambda x: x.astype(str).str.upper())


Person1 Person2 Person3
ASH     ABE     SAM
JOE     LISA    MAX
HARRY   KATTY   STONE

我的尝试:

return_field=""
for x in str_list:
    print(x)
    for i in df.iterrows():
        if(df.str.contains(x)):
            return_field=x

给我AttributeError:'DataFrame'对象没有属性'str'

预期产量

由于Joe存在于数据框中,因此应该返回“ Joe”

pp

如果您重复执行此操作,则可能希望通过哈希值set另外,您可以使用mapwithstr.upper将数据框值转换为大写1

str_all = set(map(str.upper, df.values.ravel()))

question = "Joe is Available"
str_search = set(question.upper().split())

res = str_search & str_all

# {'JOE'}

1可以使用pd.DataFrame.apply+ lambda,但是不建议这样做。pd.Series.str目前,通过进行字符串操作非常缓慢。lambda在顶部添加循环会使情况变得更糟。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

JS /流星:如果在数组中找到字符串,则返回“ checked”

Python-如果在嵌套列表中找到字符串,则返回true

如果在字符串中找到任何列表元素,则检查以返回 true

如果在 value 中找到特定的迭代子字符串 *not*,如何返回值?

如果在表中找到MySql,则返回“ I FOUND IT”字符串

Excel 函數 - 如果在 B 列中找到 A 列中的字符串,則

熊猫,使用其他数据框值在数据框中找到匹配的关键字

如果在类型列表的单元格值中找到字符串,如何根据条件删除熊猫数据框中的行?

如果在函数返回的哈希值中找到子字符串,则 for 循环中的 if 语句将停止迭代

在 MySQLi 中按相关性排序 - 如果在某行中找到关键字,则首先按此排序

如果在 Pandas 的所有列中都包含字符串,则样式化数据框

如果在字符串中找到超链接,则只允许特定域

如果在测试文件中找到字符串,如何使dos中的find命令失败?

如果在列表中找到字符串,则对其进行过滤

如果在一行中找到特定模式,则查找并替换字符串

c 字符串:如果在句子中找到一个单词,则输入 ' '

如果在字符串中找到,javascript 保存单词

如果在 R 数据框中找到匹配的文本,则向上移动列

如何从Python中的熊猫数据框中的列中提取关键字(字符串)

Python 说它在不包含关键字的字符串中找到了关键字

如果在数据框中的上一行找到子字符串,则从该行中删除子字符串的第一个实例

颜色字如果在字符串中

如果在另一数据框中找到其列值,则从数据框中删除该行

如果在另一个数据框列pandas中找到一列中的值,则返回值

如何基于python中另一个数组中的关键字在数组中找到字符串?

如果在熊猫的给定列中找到字符串匹配,则获取另一列的单元格值

如果在A列中找到匹配的字符串,将单元格文本从Book1的E和F复制到Book2?

如果在数组中找到匹配的值,则返回True

如果在shell中找到字符串,如何在固定位置覆盖一行?