Ich verwende groupby
in pandas
, um einige json
Stildaten zu erstellen. Ich habe Probleme mit über den gruppierten dataframe
Iterieren, da es nicht meine Schlüssel erkenntIterating über einen Pandas gruppierten Datenrahmen
import pandas as pd
df = pd.DataFrame(data=[['Group A', 10],
['Group A', 12],
['Group B', 22],
['Group B', 25],
['Group B', 26]],
columns = ['Group', 'Value'])
df = df.groupby('Group').agg(['mean', 'count']).reset_index()
json_data = [{'id': row['Group'],
'name': row['Group'],
'value': row['mean']} for index, row in df.iteritems()]
print json_data
Fehler:
KeyError: 'Group'
gewünschte Ausgabe:
[{
'id': 'Group A',
'name': 'Group A',
'value': 11
}, {
'id': 'Group B',
'name': 'Group B',
'value': 24.33333
}]
Danke, ich war mir nicht sicher, wie man '' mean' 'bezieht. Das bedeutet Sinn als '[' Value ',' mean ']', aber die 'Group'-Spalte hat kein Label, wie wird darauf verwiesen? – user2242044
@ user2242044: Was meinst du mit "hat kein Label"? Auf die Spalte "Group" kann direkt mit '[" Group "]' zugegriffen werden, wie Sie es bereits tun, da es keine zusätzlichen Indexstufen darunter hat. – BrenBarn
@BrenBam, mit 'row ['Group']' scheint das gesamte Datenfeld hinzuzufügen 'Gruppe Name: 0, dtype: Objekt,' – user2242044