Python str.x27;str';对象没有属性';包含';

Python str.x27;str';对象没有属性';包含';,python,pandas,Python,Pandas,我正在分析推特 我有10k条推文,对出现的单词列表感兴趣: lst1=['spot','mistake'] lst1_tweets=tweets[tweets['tweet_text'].str.contains('|'.join(lst1))].reset_index() 我想再次检查并确认: f=lst1_tweets['tweet_text'][0] f='Spot the spelling mistake Welsh and Walsh. You are showing picture

我正在分析推特

我有10k条推文,对出现的单词列表感兴趣:

lst1=['spot','mistake']
lst1_tweets=tweets[tweets['tweet_text'].str.contains('|'.join(lst1))].reset_index()
我想再次检查并确认:

f=lst1_tweets['tweet_text'][0]
f='Spot the spelling mistake Welsh and Walsh. You are showing picture of presenter Bradley Walsh who is alive and kick'
type(f)
<class 'str'>
返回:

AttributeError: 'str' object has no attribute 'str'
AttributeError: 'str' object has no attribute 'contains'

返回:

AttributeError: 'str' object has no attribute 'str'
AttributeError: 'str' object has no attribute 'contains'

任何关于如何在字符串中搜索单词列表的建议,如果只是检查字符串中的某些字符串,则不太确定,但我非常确定。contains不是python的东西, 试试这个:

for "string" in f:
    # do whatever

您可能会混淆pandas中的
.str.contains()
,它存在并应用于系列。在这种情况下,您可以在或运算符中使用
。
以下是如何解决这个问题的完整指南

从熊猫文档:

str.contains(self、pat、case=True、flags=0、na=nan、regex=True)。 测试模式或正则表达式是否包含在序列或索引的字符串中


我想您正在
中查找

if 'goat' in 'goat cheese':
    print('beeeeeeh!')

您只能在熊猫系列上使用
.str.contains()
,而不能在提取单个字符串后使用。这是否回答了您的问题?这里您的
f
引用了一个Python字符串,其类名为
str
类型(f)是str
pandas.Series.str
是一个具有不同属性的不同类,包括
contains
。您可以使用内置的可调用的
hasattr
检查一个类是否具有某个名称的属性(也就是说,不引发异常)。他不想循环某个对象,他想测试子字符串。此外,for循环是在每次迭代中将一个对象从iterable分配给一个变量。不能将对象指定给字符串。这可能是一个if语句。这可能是一个问题,因为他正在搜索的字符串列表包含
'spot'
'error'
,但他正在搜索的字符串包含
'spot'
'error'
。大写和小写字符的编码不同,因此Python字符串中的
运算符区分大小写,并且与
pandas.Series.str.contains
不同,不能使搜索不区分大小写。我不太清楚这一点,但
|
似乎是一个正则字符
pandas.Series.str.contains
可能使用与Python模块
re
搜索字符串相同的语法。
如果“goat cheese”中的“goat”。lower():
就可以了。查找pandas文档,
pandas.Series.str.contains
实际上使用了
re
模块
.lower()
也可以工作,但是
re
模块可能更为熟悉。这正是发生在我身上的事情!