我搜索 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, 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(', '))
Error:
AttributeError: ("'Series' object has no attribute 'contains'", 'occurred at index 0')
我不明白这有什么问题。它看起来像str.replace(".","")
导致错误。
任何帮助,将不胜感激