2017-02-15 56 views
0

我有一個DataFrame如下。我想刪除包含[編輯]的RegionName的行。我感謝任何幫助。如何刪除模式行

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 

回答

0

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

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 
0

您不必刪除,您只需要選擇那些沒有在他們「編輯」的那些:

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

我會選擇pandas.Series.str.contains得到一個適當的過濾器。

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

演示

>>> 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