Pandas DataFrame объединяет некоторые столбцы во вложенном JSON

1

Скажем, у вас есть панда DataFrame, который выглядит так:

A1a  A1b   A2a    A2b   …   B1a …
0.25 0.75  0.10   0.5       1   
…    …     …      …         …   

И вы хотите вывести список объектов JSON (один объект для каждой строки), который выглядит так:

[
    {
        A: {
            1: {
                a: 0.25,
                b: 0.75
            },
            2: {
                a: 0.1,
                b: 0.5,
                ...
            },
            ...
        },
        B: {
            1: {
                a: 1
            },
            ...
        },
        ...
    },
    ...
]

Какой лучший способ сделать это?

Очевидно, что здесь много вопросов о пандах/вложенных JSON, но я думаю, что это отличается от того, что я пытаюсь вложить определенные столбцы в одну строку, а не группировать строки, которые имеют одинаковые значения в столбцах (например, в этом примере).

Теги:
pandas

1 ответ

2
Лучший ответ

Поскольку вы связываете страницу, я recur_dictify функцию recur_dictify из принятого ответа в этой ссылке

#make your df columns become multiple index 
df.columns=pd.MultiIndex.from_tuples(df.columns.map(list).map(tuple))

      A
      1          2
      a     b    a    b
0  0.25  0.75  0.1  0.5

#Then we apply the function
recur_dictify(df.T.reset_index())

{'A': {'1': {'a': 0.25, 'b': 0.75}, '2': {'a': 0.1, 'b': 0.5}}} 
  • 0
    Это действительно чисто, очень приятно!
  • 0
    @ user3483203 спасибо, мужчина :-)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню