我有以下代码
import pandas as pd
private = pd.read_excel("file.xlsx","Pri")
public = pd.read_excel("file.xlsx","Pub")
private["ISH"] = private.HolidayName.str.lower().contains("holiday|recess")
public["ISH"] = public.HolidayName.str.lower().contains("holiday|recess")
我收到以下错误:
AttributeError: 'Series' object has no attribute 'contains'
有没有办法将“HolidayName”列转换为小写,然后一步一步使用 .contains
检查正则表达式 ("Holiday|Recess")
?
最佳答案
private["ISH"] = private.HolidayName.str.contains("(?i)holiday|recess")
正则表达式模式中的 (?i)
告诉 re
模块忽略大小写。
您收到错误的原因是因为 Series 对象没有 contains
方法;而 Series.str
属性具有 contains
方法。所以你可以避免错误:
private["ISH"] = private.HolidayName.str.lower().str.contains("holiday|recess")
关于python - Pandas 将字符串对象转换为小写并检查字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22909082/