test['b']=test['a'].mask(test['a'].str.contains('a3-'),test['a'].str.extract('\d$'))报错incompatinle indexer with dataframe
时间: 2023-10-03 19:11:32 浏览: 52
这个错误通常出现在使用不兼容的索引器与 DataFrame 对象时。在这个例子中,您可能需要检查 test['a'] 列是否包含 NaN 值,因为 str.contains 方法不适用于 NaN 值。如果 test['a'] 包含 NaN 值,您可以使用 fillna 方法将它们替换为适当的值。另外,您可以尝试使用 loc 方法来选择要添加新列的行,例如:test.loc[test['a'].str.contains('a3-'), 'b'] = test['a'].str.extract('\d$')。这将只给包含 'a3-' 的行添加 'b' 列,并将该列设置为符合正则表达式 '\d$' 的值。
阅读全文