Ich habe einen df:Schwenk Pandas df - Spaltenwerte in Spaltennamen drehen
pd.DataFrame({'time_period': {0: pd.Timestamp('2017-04-01 00:00:00'),
1: pd.Timestamp('2017-04-01 00:00:00'),
2: pd.Timestamp('2017-03-01 00:00:00'),
3: pd.Timestamp('2017-03-01 00:00:00')},
'cost1': {0: 142.62999999999994,
1: 131.97000000000003,
2: 142.62999999999994,
3: 131.97000000000003},
'revenue1': {0: 56,
1: 113.14999999999998,
2: 177,
3: 99},
'cost2': {0: 309.85000000000002,
1: 258.25,
2: 309.85000000000002,
3: 258.25},
'revenue2': {0: 4.5,
1: 299.63,2: 309.85,
3: 258.25},
'City': {0: 'Boston',
1: 'New York',2: 'Boston',
3: 'New York'}})
Ich möchte Struktur wieder diese df, so dass für die Einnahmen und Kosten separat:
pd.DataFrame({'City': {0: 'Boston', 1: 'New York'},
'Apr-17 revenue1': {0: 56.0, 1: 113.15000000000001},
'Apr-17 revenue2': {0: 4.5, 1: 299.63},
'Mar-17 revenue1': {0: 177, 1: 99},
'Mar-17 revenue2': {0: 309.85000000000002, 1: 258.25}})
Und ein ähnlich df für Kosten.
Grundsätzlich die time_period
Spaltenwerte in Spaltennamen wie Apr-17, Mar-17 mit Revenue/Kosten-String als angemessen und Werte von Revenue1/Revenue2 und Cost1/Cost2 jeweils.
Ich habe mit etwas Erfolg mit pd.pivot_table
gespielt, aber ich kann nicht genau bekommen, was ich will.
Bitte Ihr Beispiel überprüfen. Die erwartete Ausgabe stimmt nicht mit den Daten im Eingabe-DF überein (wie das Datum, die Einnahmen für Orlando usw.). – Allen
@Allen - danke, dass du darauf hingewiesen hast. Ich habe gerade korrigiert. :-) – codingknob
Ich habe die 2. Stadtsäule zur Vereinfachung entfernt ..... – codingknob