Python 如何删除带有模式的行

Python 如何删除带有模式的行,python,pandas,Python,Pandas,我有一个如下的数据帧。我想删除RegionName包含[edit]的行。谢谢你的帮助 State RegionName1 0 Alabama Alabama[edit] 1 Alabama Auburn 2 Alabama Florence 3 Alabama Jacksonville 4 Alabama Livingston 9 Alaska Alaska[edit] 10 Alaska Fairbanks 11 Arizona Arizona[ed

我有一个如下的数据帧。我想删除RegionName包含[edit]的行。谢谢你的帮助

    State   RegionName1
0   Alabama Alabama[edit]
1   Alabama Auburn
2   Alabama Florence
3   Alabama Jacksonville
4   Alabama Livingston
9   Alaska  Alaska[edit]
10  Alaska  Fairbanks
11  Arizona Arizona[edit]
12  Arizona Flagstaff
13  Arizona Tempe
15  Arkansas    Arkansas[edit]
16  Arkansas    Arkadelphia
18  Arkansas    Fayetteville

您不需要删除,只需选择其中没有“编辑”的内容:

df = df[~df.RegionName1.str.contains('edit')
我会选择合适的过滤器

df = df[~df.RegionName1.str.contains('[edit]')]
演示

您可以使用.str.endswith方法:

>>> df
     RegionName1     State
0  Alabama[edit]   Alabama
1        Alabama   Alabama
2   Alaska[edit]    Alaska
3       Arkansas  Arkansas

>>> df = df[~df.RegionName1.str.contains('[edit]')]

>>> df
  RegionName1     State
1     Alabama   Alabama
3    Arkansas  Arkansas
In [165]: df = df.loc[~df.RegionName1.str.endswith('[edit]')]

In [166]: df
Out[166]:
       State   RegionName1
1    Alabama        Auburn
2    Alabama      Florence
3    Alabama  Jacksonville
4    Alabama    Livingston
6     Alaska     Fairbanks
8    Arizona     Flagstaff
9    Arizona         Tempe
11  Arkansas   Arkadelphia
12  Arkansas  Fayetteville