我有一个pandas dataframe,里面有一堆字符串。有些字符串包含一个插入符号(即。符号)。我正在尝试使用以下方法删除它们:
df['text'] = df[df['text'].str.contains('^') == False]
我没有得到一个错误,但它是在每一行找到一个插入符号是不正确的。这个符号有什么特别之处吗
pqwbnv8z1#
根据注解,您必须转义插入符号或禁用默认的正则表达式处理:
>>> import pandas as pd >>> df = pd.DataFrame({'text':['abc','d^e','fgh']}) >>> df text 0 abc 1 d^e 2 fgh >>> df[df.text.str.contains('^', regex=False) == False] text 0 abc 2 fgh >>> df[df.text.str.contains('\^') == False] text 0 abc 2 fgh
请注意,虽然df.text.str.contains('\^') == False可以工作,但习惯上要用~反转布尔值。
df.text.str.contains('\^') == False
~
df[~df.text.str.contains('\^')]
1条答案
按热度按时间pqwbnv8z1#
根据注解,您必须转义插入符号或禁用默认的正则表达式处理:
请注意,虽然
df.text.str.contains('\^') == False
可以工作,但习惯上要用~
反转布尔值。