Итак, я установил некоторые функции для извлечения данных, и моя идея состоит в том, чтобы создать DataFrame со следующей структурой.
Многоуровневый индекс, имеющий 3 индекса с именами «Дата», «Конкуренция», «Матч».
Многоуровневый столбец, в котором у меня есть 2 уровня, с 2 значениями на верхнем уровне и 8 одинаковыми именами столбцов для каждого.
Полагаю, лучшим подходом является создание циклов для получения каждой строки и сохранения ее в списке, поэтому после ее завершения вам нужно всего лишь создать фрейм данных, но у меня возникают трудности с тем, как на самом деле это сделать.
Чтобы создать кадр для кадра данных, я делаю это следующим образом
indx=['pts','gfa','gco','cs','fts','bts','o25%','po25/bts']
findx=[('h/a stats',x) for x in indx]+[('total stats',y) for y in indx]
index=pd.MultiIndex.from_tuples(findx, names=['tipo', 'stat'])
index2=pd.MultiIndex.from_tuples([('date','competition','match')])
Если я просто сделаю
fframe=pd.DataFrame(index=index2,columns=index)
>>[1 rows x 16 columns]
Что в порядке, рамка имеет желаемую структуру, но если я попытаюсь добавить фиктивную строку с начала, чтобы проверить, работает ли она
r=['11-12-11','ARG1','Blois v Gries',1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
fframe=pd.DataFrame(r,index=index2,columns=index)
>>ValueError: Shape of passed values is (1, 19), indices imply (16, 1)
Чего мне не хватает? Почему не заполняет фрейм данных? Как это сделать?