Создание фрейма данных из словаря списков

#python #python-3.x #pandas #list

#python #python-3.x #pandas #Список

Вопрос:

У меня есть словарь списков python, и я хочу создать фрейм данных с несколькими индексациями

 data = {'row_1': [3, 2, 1, 0], 'row_2': ['a', 'b', 'c', 'd']}
pd.DataFrame.from_dict(data, orient='index')
 

Из приведенного выше кода я получаю вывод, как показано ниже

        0  1  2  3
row_1  3  2  1  0
row_2  a  b  c  d
 

я хочу вывод, как показано ниже

        values
row_1  3 
       2  
       1
       0
row_2  a  
       b  
       c  
       d
 

не могли бы вы мне помочь

Комментарии:

1. Каков тогда индекс 2 1 0 и b c d в вашем желаемом выводе?

2. Row1 и row2 — это индексы

3. из 3 и из a, да. У вас не может быть 2 1 0 и b c d без индекса, и ваш желаемый результат предполагает, что у них нет индекса.

4. Я не понимаю, что именно означает ожидаемый результат?

5. Данные, похоже, имеют правильную форму, но, вероятно, вы ищете stack. pd.DataFrame.from_dict(data, orient=’index’).stack()

Ответ №1:

Давайте попробуем stack

 df = pd.DataFrame.from_dict(data, orient='index').stack()
Out[298]: 
row_1  0    3
       1    2
       2    1
       3    0
row_2  0    a
       1    b
       2    c
       3    d
dtype: object
 

Комментарии:

1. Когда я пытаюсь преобразовать его в CSV .. мне не хватает структуры

2. @Shidev CSV не является структурированным методом сохранения данных, попробуйте сохранить его в Excel