Panda dataframe aufteilen einer Spalte in mehrere Spalten

Habe ich ein pandas dataframe aussieht wie unten:

date     |    location          | occurance <br>
------------------------------------------------------
somedate |united_kingdom_london | 5  
somedate |united_state_newyork  | 5   

Ich will es verwandeln in

date     | country        | city    | occurance <br>
---------------------------------------------------
somedate | united kingdom | london  | 5  
---------------------------------------------------
somedate | united state   | newyork | 5     

Ich bin neu in Python und nach einigen Recherchen habe ich folgenden code geschrieben, aber scheint nicht in der Lage zu extrahieren, Land und Stadt:

df.location= df.location.replace({'-': ' '}, regex=True)
df.location= df.location.replace({'_': ' '}, regex=True)

temp_location = df['location'].str.split(' ').tolist() 

location_data = pd.DataFrame(temp_location, columns=['country', 'city'])

Ich Schätze Ihre Antwort.

  • Danke Jungs für Eure Antwort. Mit gegebenen Kontext, alle Ihre Lösungen gut funktioniert, aber die tatsächliche dataset ich arbeite ziemlich kompliziert. Als Ergebnis, ich war nicht in der Lage, es klappt noch. Von oben snippet von mir, nach dem ersetzen von ' -','_', ich mache for item in temp: if str(item) == 'United': frames = [temp[0], temp[2].str.partition(" ", expand=True)] Ergebnis = pd.concat ("frames") print result //aber dies scheint nicht zu arbeiten
InformationsquelleAutor Emdadul | 2016-08-09
Schreibe einen Kommentar