如何将numpy数组中的列追加到pd数据帧?

时间:2019-04-29 10:37:51

标签: pandas numpy scikit-learn

我有一个名为first_100的numpy数组,包含100个预测值。如果将它们转换为数据帧,它们的索引为0,1,2等。但是,预测是针对随机索引顺序的值,66,201,32等。我希望能够放置实际值和预测在同一数据框中,但我真的很挣扎。

实际值在一个名为first_100_train的数据框中。 我尝试了以下方法:

pd.concat([first_100, first_100_train], axis=1)

这不起作用,由于某种原因返回了整个数据帧并从0开始索引,因此存在许多NaN ...

first_100_train['Prediction'] = first_100[0]

这几乎是我想要的,但是再次由于索引不同而导致数据不匹配。我真的很感谢任何建议。

编辑:在设法加入数据框之后,我现在有了这个:

enter image description here

我希望能够删除最后一列...

这是first_100.head()

enter image description here

和first_100_train.head()

enter image description here

问题在于,first_100的索引2实际上对应于first_100_train的索引480

1 个答案:

答案 0 :(得分:0)

通过DataFrame.reset_indexdrop=True设置默认索引值以正确对齐:

pd.concat([first_100.reset_index(drop=True), 
           first_100_train.reset_index(drop=True)], axis=1)

或者如果第一个DataFrame具有默认的RangeIndex解决方案是简单的:

pd.concat([first_100, 
           first_100_train.reset_index(drop=True)], axis=1)