python - Iterating over a Pandas grouped dataframe -


i using groupby in pandas create json style data. having trouble iterating on grouped dataframe doesn't recognize keys

import pandas 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']} index, row in df.iteritems()] print json_data 

error:

keyerror: 'group' 

desired output:

[{     'id': 'group a',     'name': 'group a',     'value': 11 }, {     'id': 'group b',     'name': 'group b',     'value': 24.33333     }] 

try this: here's link dataframe.to_json()

df = df.groupby('group').mean().reset_index().rename(columns = {'group':"id" }) df['name'] = df['id'] df.to_json(orient="records")  '[{"id":"group a","value":11.0,"name":"group a"},{"id":"group b","value":24.3333333333,"name":"group b"}]' 

you can reorder json output way:

df[['id','name', 'value', ]].to_json(orient="records")  '[{"id":"group a","name":"group a","value":11.0},{"id":"group b","name":"group b","value":24.3333333333}]' 

Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -