So habe ich einen Pandas Datenrahmen aus CSV-Datei wie folgt aussieht:Python Pandas Dataframe: Wie erstellt man Spalten aus einer bestehenden Liste im Dataframe?
year,month,day,list
2017,09,01,"[('United States of America', 12345), (u'Germany', 54321), (u'Switzerland', 13524), (u'Netherlands', 24135), ... ]
2017,09,02,"[('United States of America', 6789), (u'Germany', 9876), (u'Switzerland', 6879), (u'Netherlands', 7968), ... ]
Die Zahl der Land-count-Paare in der vierten Spalte jeder Zeile nicht identisch ist.
Ich mag die Liste in der vierten Spalte zu erweitern, und den Datenrahmen in so etwas wie diese Transformation:
year,month,day,country,count
2017,09,01,'United States of America',12345
2017,09,01,'Germany',54321
2017,09,01,'Switzerland',13524
2017,09,01,'Netherlands',24135
...
2017,09,02,'United States of America',6789
2017,09,02,'Germany',9876
2017,09,02,'Switzerland',6879
2017,09,02,'Netherlands',7968
...
Mein Gedanke war, 2 unabhängige Spalten zu erzeugen, kommen sie dann zum Ursprung Datenrahmen. Vielleicht so etwas wie folgt aus:
country = df.apply(lambda x:[x['list'][0]]).stack().reset_index(level=1, drop=True)
count = df.apply(lambda x:[x['list'][1]]).stack().reset_index(level=1, drop=True)
df.drop('list', axis=1).join(country).join(count)
Der obige Code ist auf jeden Fall nicht funktioniert (ich hoffe nur, dass es meine Gedanken ausdrücken helfen), und ich habe keine Ahnung, wie die Datumsspalten zu erweitern als auch.
Jede Hilfe oder Anregung wird sehr geschätzt.
Thank you very much! Ich werde es versuchen und sehen, ob es funktioniert. –
Sie haben Recht - die 4. Spalte war keine tatsächliche Liste, sondern eine Zeichenfolge, und Ihre Methode hat das Problem mit Datum gelöst. Vielen Dank! –