被一个问题一直折磨着,是不是自己的思路有问题:
首先要创建一个循环体外的空表A,index和columns都是用的之后生成的表Bi,所以无法预先创建
在生成了Bi后,想把Bi的每一行都传给A,不断有B1 B2 B3...,在A上增加行
本来以为可以直接通过增加行的代码,比如
A.iloc[0,:] = B.iloc[0,:]
但就是跑不通
反反复复尝试最后的版本变为:
for ind in B.index:
if A.empty:
A = B.iloc[[0],:].copy()
else:
A = A.append(B.loc[[ind],:])
A.rename(...)
总觉得很傻瓜
此外又get到了一个小知识:
如果取B的一行给A用下面的代码:
A = B.iloc[0,:].copy()
得到的居然不是行而是series!!
得在0外面加上[]才保留为行...