Простой список в dataframe

#python #pandas #list #dataframe

#python #панды #Список #фрейм данных

Вопрос:

Предположим, у меня есть список:

  [(red, red, 1),
 (red, blue, 3),
 (red, yellow, 2),
 (blue, red, 3),
 (blue, blue, 1),
 (blue, yellow, 4),
 (yellow, red, 2),
 (yellow, blue, 4),
 (yellow, yellow, 1)]
 

Каков самый простой способ получить фрейм данных pandas, подобный этому?

              red    blue   yellow
red           1       3       2                               
blue          3       1       4
yellow        2       4       1
 

Ответ №1:

Используйте конструктор DataFrame с поворотом по DataFrame.pivot , последний удаляет имена индексов и столбцов по DataFrame.rename_axis :

 df = pd.DataFrame(L).pivot(0,1,2).rename_axis(index=None, columns=None)
print (df)
        blue  red  yellow
blue       1    3       4
red        3    1       2
yellow     4    2       1