2017-02-15 1 views
0

Ich habe einen DataFrame wie folgt. Ich möchte Zeilen löschen, die einen RegionName mit [edit] enthalten. Ich schätze jede Hilfe.So löschen Sie die Zeilen mit Muster

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 

Antwort

0

Sie .str.endswith() Methode verwenden können:

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

Sie müssen die, die nicht gelöscht werden, müssen Sie nur auswählen, die in ihnen nicht ‚Bearbeiten‘ haben:

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

ich für pandas.Series.str.contains würde entscheiden einen entsprechenden Filter zu erhalten .

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

Demo

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