2015-02-18 12 views
20

Próbuję wziąć ramkę danych i przekształcić ją w częściowy format json.Pandasowa ramka danych do json bez indeksu

Oto mój dataframe przykład:

DataFrame name: Stops 
id location 
0  [50, 50] 
1  [60, 60] 
2  [70, 70] 
3  [80, 80] 

Oto format JSON Chciałbym przekształcić:

"stops": 
[ 
{ 
    "id": 1, 
    "location": [50, 50] 
}, 
{ 
    "id": 2, 
    "location": [60, 60] 
}, 
... (and so on) 
] 

zauważyć Lista dicts. Mam go prawie nie z następującego kodu:

df.reset_index().to_json(orient='index)

jednak, że linia zawiera również indeks tak:

"stops": 
{ 
"0": 
    { 
     "id": 0, 
     "location": [50, 50] 
    }, 
"1": 
    { 
     "id": 1, 
     "location": [60, 60] 
    }, 
... (and so on) 
} 

Wskazówka to DICT z dicts i obejmuje również indeks dwukrotnie (w pierwszym dict i jako „id” w drugim dict! Każda pomoc będzie mile widziane.

Odpowiedz

34

można użyć orient='records'

print df.reset_index().to_json(orient='records') 

[ 
    {"id":0,"location":"[50, 50]"}, 
    {"id":1,"location":"[60, 60]"}, 
    {"id":2,"location":"[70, 70]"}, 
    {"id":3,"location":"[80, 80]"} 
] 
+2

To takie proste. Uwielbiam pandy ... i ciebie! Dzięki! –

+0

Jeśli nie chcesz w ogóle indeksować, po prostu usuń część "reset_index()". – Aaron

Powiązane problemy