Вывод панд в json

Я пытаюсь экспортировать этот DF в желаемый результат:

import pandas as pd

data = {'V':  ["0","0","0","0","0","0"],
        'A': ["1","0","1","1","1","0"],
        }

df = pd.DataFrame (data, columns = ['V','A'])

Желаемый результат:

{"0": {"V": 0,
       "A": 1,
      },
 "1": {"V": 0,
       "A": 0,
     },
...
}

Экспорт его как json не имеет такой же формы.

df= df.to_json(orient = "table")
with open('df.json', 'w') as f:
    f.write(df)
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python.
Некоторые методы, о которых вы не знали, что они существуют в Python.
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
79
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте df.to_dict с orient=index:

In [1672]: x = df.to_dict('index')

In [1672]: x
Out[1672]: 
{0: {'V': '0', 'A': '1'},
 1: {'V': '0', 'A': '0'},
 2: {'V': '0', 'A': '1'},
 3: {'V': '0', 'A': '1'},
 4: {'V': '0', 'A': '1'},
 5: {'V': '0', 'A': '0'}}

Для вывода json:

In [1676]: import json

In [1679]: y = json.dumps(x)

In [1681]: y
Out[1681]: '{"0": {"V": "0", "A": "1"}, "1": {"V": "0", "A": "0"}, "2": {"V": "0", "A": "1"}, "3": {"V": "0", "A": "1"}, "4": {"V": "0", "A": "1"}, "5": {"V": "0", "A": "0"}}'

Обновлено: Чтобы преобразовать значения в int, сделайте следующее:

In [1672]: x = df.to_dict('index')
In [1708]: x = {k: {kk: int(vv) for kk, vv in v.items()} for k, v in x.items()}

In [1710]: y = json.dumps(y)

In [1711]: y
Out[1711]: '{"0": {"V": 0, "A": 1}, "1": {"V": 0, "A": 0}, "2": {"V": 0, "A": 1}, "3": {"V": 0, "A": 1}, "4": {"V": 0, "A": 1}, "5": {"V": 0, "A": 0}}'

Идеальный! Мне просто нужно преобразовать числа тогда. Спасибо :)

Ron 21.12.2020 05:48

Большой. Вам нужна помощь и с этим?

Mayank Porwal 21.12.2020 06:00

Пожалуйста. Я все равно обновил свой ответ, чтобы преобразовать его в int для завершения.

Mayank Porwal 21.12.2020 06:04

Другие вопросы по теме