String 删除具有特定字符串值的行

String 删除具有特定字符串值的行,string,pandas,contains,String,Pandas,Contains,我有一些带有桥接数据的df,在某些列中字符串“(R)”位于其中。如果“Blabla(R)”或“hello(R)”是值,我想删除这些行。(所以str.contains的内容) 如图所示,我想删除第9行。(还有更多) 为什么会出现此错误以及如何修复此错误?如果要删除df数据帧中road字段等于(S)的任何行,则可以使用以下代码。这将删除同一数据帧中的这些行(df) 如问题中所述,str.contains是用于通配符搜索的有用工具 df.drop(df[df['name'].str.contains

我有一些带有桥接数据的df,在某些列中字符串“(R)”位于其中。如果“Blabla(R)”或“hello(R)”是值,我想删除这些行。(所以str.contains的内容)

如图所示,我想删除第9行。(还有更多)


为什么会出现此错误以及如何修复此错误?

如果要删除
df
数据帧中
road
字段等于
(S)
的任何行,则可以使用以下代码。这将删除同一数据帧中的这些行
(df)


如问题中所述,str.contains是用于通配符搜索的有用工具

df.drop(df[df['name'].str.contains('R')].index.tolist())


.index
返回一个不可编辑的Int64索引,因此
.tolist()
将其转换为一个列表,并最终为
df做好准备。drop([])
df。drop
是一个方法(函数),不能使用
[]
对其进行索引。也许
df.drop(df.str.contains(…)
?不起作用,这只会删除正好是(R)的行,但我想删除所有包含“blablabla(R)”的行。好吧,我误解了。我以为你就是想要这个。试试这个<代码>df.drop(index=df[df['road'].str.contains('R'))。索引,inplace=True)成功了!因为字符串中有括号,我只需要像contains((R))那样键入它
df.drop(index=df[df['road'] == '(R)'].index, inplace=True)