Python 3.x 错误:系列';对象没有属性';包含'&引用;
我搜索数据框的所有列(第一列除外),并添加一个新列“Matching_columns”,其名称为匹配列, 当我在测试模式是否包含在一行中之前尝试删除所有点时,我收到一个错误 这项工作: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
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.假设您有colstext
和要查找
,然后使用df.apply(λx:x['to\u-find']在x['text'],轴=1)
参考: