Часто вас может заинтересовать преобразование кадра данных pandas в формат JSON.
К счастью, это легко сделать с помощью функции to_json() , которая позволяет преобразовать DataFrame в строку JSON в одном из следующих форматов:
- 'split' : dict как {'index' -> [index], 'columns' -> [columns], 'data' -> [values]}
- 'records': список вроде [{столбец -> значение}, …, {столбец -> значение}]
- 'index': dict как {индекс -> {столбец -> значение}}
- 'столбцы': dict как {столбец -> {индекс -> значение}}
- 'values': только массив значений
- 'таблица': dict как {'схема': {схема}, 'данные': {данные}}
В этом руководстве показано, как преобразовать DataFrame в каждый из шести форматов, используя следующие pandas DataFrame:
import pandas as pd
#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 19],
'assists': [5, 7, 7, 12]})
#view DataFrame
df
points assists
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')
{
"points": {
"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')
{
"schema": {
"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() здесь .