2015-02-18 36 views
20

Tôi đang cố gắng lấy một khung dữ liệu và biến nó thành một định dạng json một phần.Pandas dataframe to json mà không có chỉ mục

Dưới đây là ví dụ dataframe tôi:

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

Dưới đây là các định dạng json Tôi muốn chuyển đổi thành:

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

Thông báo đó là một danh sách các dicts. Tôi có nó gần đó với đoạn mã sau:

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

Tuy nhiên, dòng đó cũng bao gồm các chỉ số như thế này:

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

thông báo này là một dict của dicts và cũng bao gồm các chỉ số hai lần (trong dict đầu tiên và là "id" trong dict thứ hai! Bất kỳ trợ giúp sẽ được đánh giá cao.

Trả lời

34

Bạn có thể sử dụng 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

Điều đó thật đơn giản. Tôi yêu gấu trúc ... và bạn! Cảm ơn! –

+0

Nếu bạn không muốn chỉ mục, chỉ cần xóa phần "reset_index()". – Aaron

Các vấn đề liên quan