因此,我设置了一些检索数据的功能,我的想法是创建具有以下结构的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)
我想念什么?为什么不填充数据框?应该如何完成?