Как преобразовать dataframe pandas в json
Часто вас может заинтересовать преобразование DataFrame pandas в формат JSON.
К счастью, это легко сделать с помощью функции to_json() , которая позволяет преобразовать DataFrame в строку JSON одного из следующих форматов:
- «разделить»: диктовать как {‘индекс’ -> [индекс], «столбцы» -> [столбцы], «данные» -> [значения]}
- ‘записи’: список типа [{столбец -> значение}, …, {столбец -> значение}]
- ‘индекс’: диктовать как {индекс -> {столбец -> значение}}
- ‘столбцы’: диктовать как {столбец -> {индекс -> значение}}
- «значения»: просто массив значений
- ‘таблица’: диктовать как {‘схема’: {схема}, ‘данные’: {данные}}
В этом руководстве показано, как преобразовать DataFrame в каждый из шести форматов, используя следующий DataFrame pandas:
import pandas as pd #createDataFrame df = pd.DataFrame({'points': [25, 12, 15, 19], 'assists': [5, 7, 7, 12]}) #view DataFrame df assist points 0 25 5 1 12 7 2 15 7 3 19 12
Способ 1: «Разделить»
df. to_json (orient=' split ') { "columns": [ "points", "assists" ], "index": [ 0, 1, 2, 3 ], "data": [ [ 25, 5 ], [ 12, 7 ], [ 15, 7 ], [ 19, 12 ] ] }
Способ 2: «Записи»
df. to_json (orient=' records ') [ { "points": 25, “assists”: 5 }, { "points": 12, “assists”: 7 }, { "points": 15, “assists”: 7 }, { "points": 19, “assists”: 12 } ]
Способ 3: «Индексный»
df. to_json (orient=' index ') { "0": { "points": 25, “assists”: 5 }, "1": { "points": 12, “assists”: 7 }, "2": { "points": 15, “assists”: 7 }, "3": { "points": 19, “assists”: 12 } }
Способ 4: «Столбцы»
df. to_json (orient=' columns ') { "dots": { "0": 25, "1": 12, "2": 15, "3": 19 }, "assists": { "0": 5, "1": 7, "2": 7, "3": 12 } }
Способ 5: «Ценности»
df. to_json (orient=' values ') [ [ 25, 5 ], [ 12, 7 ], [ 15, 7 ], [ 19, 12 ] ]
Способ 6: «Таблица»
df. to_json (orient=' table ') { "plan": { "fields": [ { "name": "index", "type": "integer" }, { "name": "points", "type": "integer" }, { "name": "assists", "type": "integer" } ], "primaryKey": [ "index" ], "pandas_version": "0.20.0" }, "data": [ { "index": 0, "points": 25, “assists”: 5 }, { "index": 1, "points": 12, “assists”: 7 }, { "index": 2, "points": 15, “assists”: 7 }, { "index": 3, "points": 19, “assists”: 12 } ] }
Как экспортировать файл JSON
Вы можете использовать следующий синтаксис для экспорта файла JSON по определенному пути к файлу на вашем компьютере:
#create JSON file json_file = df. to_json (orient=' records ') #export JSON file with open('my_data.json', 'w') as f: f.write(json_file)
Полную документацию функции pandas to_json() вы можете найти здесь .