Преобразование 3D-списка в единый фрейм данных pandas с тем же индексом

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

#python-3.x #pandas #Список #numpy #итерация

Вопрос:

Мой список l имеет форму np.array(l).shape (100,15,1) , в нем 100 фреймов данных, каждый из которых имеет 15 строк и 1 столбец. Индекс одинаковый, просто сортировка отличается в каждом df списка. Я хочу распаковать список l:

 l[0] =             Rank                  l[31] =           Rank
           A1       1                                A5      1
           A2       2                                A1      2
           A3       3                                A8      3
           A4       4.. till 15                      A3      4 .... also till 15
  

Я хочу, чтобы один фрейм данных из этого трехмерного списка l выглядел примерно так:
df= (15,100)

      0       1      2
A1   1       2      3
A2   2       3      2 
A3   3       6      1
A4   4       4      4
A5   5       8      6 .. till 100 columns and for all 15 indices
  

По сути, фрейм данных со всеми рейтинговыми списками, которые будут отображаться только в одном индексе.

Ответ №1:

Использовать concat с axis=1 и ignore_index=True для новых столбцов по умолчанию с помощью range :

 df = pd.concat(l, axis=1, ignore_index=True)
print (df)
      0    1
A1  1.0  2.0
A2  2.0  NaN
A3  3.0  4.0
A4  4.0  NaN
A5  NaN  1.0
A8  NaN  3.0
  

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

1. Идеальный. Спасибо.