我一直在尝试创建多个数据帧来创建多个字符串,但是我无法删除超过2个的字符串,唯一的是我希望删除多个字符串。
data3 = data[~data.column.str.contains("remove words")]
data3 = data3[~data3.column.str.contains("remove me")]
data3.count
我已经尝试过了,但是效果不好。
df = df[~df.column.isin(['remove words'])]
或
df = df[~df.column.isin(['remove words', 'remove me'])]
答案 0 :(得分:0)
您只需要添加loc
。当布尔掩码应用于数据框/系列时,只有显式的位置标记才可以解决问题。
df.loc[~df.column.isin(['remove words', 'remove me'])]
答案 1 :(得分:0)
我认为您在正确的道路上。
让我们定义一个玩具数据框:
>>> df = pd.DataFrame([("i have a car", 2),
("cows make milk", 3),
("try this remove me stuff", 5),
("please remove words", 51)],
columns=["text", "number"])
然后您去:
>>> words_to_avoid = ["remove me", "remove words"]
>>> df[df.text.apply(
lambda txt: not any([word_to_avoid in txt for word_to_avoid in words_to_avoid])
)]
text number
0 car 2
1 cow 3
答案 2 :(得分:0)
试试这个方法:
df2 = df1[~df1.column.str.contains('remove words|remove me', regex=True)]