pandas: AttributeError: 'function' object has no attribute 'contains'

pandas: AttributeError: 'function' object has no attribute 'contains'

我有以下代码来检查特定列的值是否包含给定的字符串:

my_df[my_df.name.str.contains('Mike')]

但是,当我尝试让它适用于所有字母大小写时,例如:

my_df[my_df.name.str.lower.contains('mike')]

我收到以下错误:

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

调用 lower() 函数的正确方法应该是什么,这样我才能确保匹配不区分大小写?谢谢!

您可以使用布尔参数case。它默认设置为 True,区分大小写。因此,您应该将其设置为 FalsePandas Documentation

my_df[my_df.name.str.contains('Mike', case=False)]

使用这个:

my_df[my_df.name.str.contains('Mike', flags=re.IGNORECASE)]

来源:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.str.contains.html