用循环填充pandas不同长度的Dataframe列

时间:2017-06-17 19:52:39

标签: python pandas dataframe

这是我想要做的一个例子:

loss

这将使用loss数组填充带有k列的Dataframe。

问题在于,对于下面的迭代,raise ValueError('Length of values does not match length of ' 'index') ValueError: Length of values does not match length of index 比上一次迭代更大,以下更大。

因此,数据框索引之间存在冲突:

{{1}}

有没有办法按我的意愿填充数据框而没有这个问题?

如果数据框没有填充循环,我会考虑用NaN填充它。

1 个答案:

答案 0 :(得分:2)

这是你想要的吗?

l= 3
for k in range(l):

    epochs=k+1
    loss=np.random.rand(k+1,1)
    if k ==0:
        history=pd.DataFrame(loss)
    else:
        history=pd.concat([history,pd.DataFrame(loss)],axis=1)
history.columns=range(3)

history
          0         1         2
0  0.043321  0.882806  0.578819
1       NaN  0.216240  0.558565
2       NaN       NaN  0.739184