Python 3.x 错误:系列';对象没有属性';包含'&引用;

Python 3.x 错误:系列';对象没有属性';包含'&引用;,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我搜索数据框的所有列(第一列除外),并添加一个新列“Matching_columns”,其名称为匹配列, 当我在测试模式是否包含在一行中之前尝试删除所有点时,我收到一个错误 这项工作: keyword='123456789' f = lambda row: row.apply(str).str.contains(keyword ,na=False, flags=re.IGNORECASE) df1 = df.iloc[:,1:].apply(f, axis=1) df.insert(loc=1

我搜索数据框的所有列(第一列除外),并添加一个新列“Matching_columns”,其名称为匹配列, 当我在测试模式是否包含在一行中之前尝试删除所有点时,我收到一个错误

这项工作:

keyword='123456789'
f = lambda row: row.apply(str).str.contains(keyword ,na=False, flags=re.IGNORECASE)
df1 = df.iloc[:,1:].apply(f, axis=1)

df.insert(loc=1, column='Matching_Columns', value=df1.dot(df.columns[1:] + ', ').str.strip(', '))
这给了我一个错误:

keyword='123456789'
f = lambda row: row.apply(str).str.replace(".","").contains(keyword ,na=False, flags=re.IGNORECASE)
df1 = df.iloc[:,1:].apply(f, axis=1)

df.insert(loc=1, column='Matching_Columns', value=df1.dot(df.columns[1:] + ', ').str.strip(', '))
错误:

AttributeError: ("'Series' object has no attribute 'contains'", 'occurred at index 0')
我不知道这是怎么回事。看起来是
str.replace(“.”,“”)
导致了错误


任何帮助都将不胜感激

它应该是
str.contains
,因为
contains
str
的访问者,而不是
series

因此,为了更好地解释这一点,
str.replace
返回一个
series
对象。您已将
contains
函数注入序列。这就是为什么会出现错误
'Series'对象没有属性'contains'

f = lambda row: row.apply(str).str.replace(".","").str.contains(keyword ,na=False, flags=re.IGNORECASE)

非常感谢。我已经找了好几个小时了。@JohnDoe很高兴能帮上忙:)如果允许的话,再问一个问题。现在我使用的是静态关键字。是否可以使用第一列作为关键字并测试我的模式是否包含在其他列中?@JohnDoe use
apply
。i、 e.假设您有cols
text
要查找
,然后使用
df.apply(λx:x['to\u-find']在x['text'],轴=1)
参考: