Często używam pandy groupby do generowania ułożonych tabel. Ale często chcę wyprowadzać wynikowe zagnieżdżone relacje do json. Czy istnieje sposób na wyodrębnienie zagnieżdżonego pliku json z ułożonego w stos stołu, który generuje?panda groupby do nested json
Powiedzmy mam df jak:
year office candidate amount
2010 mayor joe smith 100.00
2010 mayor jay gould 12.00
2010 govnr pati mara 500.00
2010 govnr jess rapp 50.00
2010 govnr jess rapp 30.00
mogę zrobić:
grouped = df.groupby('year', 'office', 'candidate').sum()
print grouped
amount
year office candidate
2010 mayor joe smith 100
jay gould 12
govnr pati mara 500
jess rapp 80
Beautiful! Oczywiście, naprawdę chciałbym zagnieździć json za pomocą komendy wzdłuż linii grouped.to_json. Ale ta funkcja nie jest dostępna. Jakiekolwiek obejścia?
Więc, co naprawdę chcę coś jak:
{"2010": {"mayor": [
{"joe smith": 100},
{"jay gould": 12}
]
},
{"govnr": [
{"pati mara":500},
{"jess rapp": 80}
]
}
}
Don
Powyższy kod w rzeczywistości nie działa tak, jak kolumna kwoty (np. "30 USD") to ciągi znaków, dlatego są dodawane jako ciągi, a nie jako liczby. Ponadto, nie jest jasne, czego chcesz pod względem wydajności json, dlaczego to działa dla ciebie to_json? –
@AndyHayden Good points. Edytowałem, aby naprawić/wyjaśnić. – Don
@Don czy istnieje jakieś rozwiązanie? – skycrew