Почему для pandas.DataFrame.to_dict нет опции orient=table?Python

Программы на Python
Ответить
Anonymous
 Почему для pandas.DataFrame.to_dict нет опции orient=table?

Сообщение Anonymous »

Я пытаюсь сохранить объект pandas.DataFrame на диск в формате JSON. Небольшая сложность заключается в том, что мне нужно хранить рядом с ним некоторые дополнительные данные. Итак, мой предполагаемый JSON будет

Код: Выделить всё

{
"additionalData": ...,
"table": {
"schema": ...,
"data": ...
}
}
Я могу получить желаемый макет таблицы, выполнив df.to_json(orient='table'), однако это строка, а не dict. Итак, если я сделаю что-то вроде

Код: Выделить всё

dict_to_write = {
'additionalData': ...,
'table': df.to_json(orient='table'),
}
когда dict_to_write записывается на диск (что уже включает шаг json.dumps), JSON выглядит так:

Код: Выделить всё

{
"additionalData": ...,
"table": "{\"schema\": ...,\"data\": ...}"
}
где таблица была преобразована в две строки.
Я могу это исправить, выполнив

Код: Выделить всё

dict_to_write = {
'additionalData': ...,
'table': json.loads(df.to_json(orient='table')),
}
вместо этого. Это превращает df сначала в строку, а затем в dict с желаемой структурой, предотвращая его преобразование в двойную строку.
Похоже, что df.to_dict должен сделать это возможным за один вызов. Есть ли какая-то конкретная причина, по которой df.to_dict(orient='table') не поддерживается?
(Я не уверен, что это лучше всего разместить здесь, поскольку на самом деле это не вопрос, а скорее обсуждение, если нет, предложите альтернативное место.)

Подробнее: https://stackoverflow.com/questions/799 ... me-to-dict
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»