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

Pandas 如何将numpy数组中的列附加到pd数据帧?,pandas,numpy,scikit-learn,Pandas,Numpy,Scikit Learn,我有一个由100个预测值组成的numpy数组,称为first_100。如果我将它们转换为数据帧,它们的索引为0,1,2等。然而,预测是针对随机索引顺序的值,66201,32等。我希望能够将实际值和预测放在同一数据帧中,但我真的很挣扎 实际值位于名为first_100_train的数据帧中。 我尝试了以下方法: pd.concat([first_100, first_100_train], axis=1) 这不起作用,出于某种原因,返回整个数据帧并从0索引,因此存在大量的NAN first_10

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

实际值位于名为first_100_train的数据帧中。 我尝试了以下方法:

pd.concat([first_100, first_100_train], axis=1)
这不起作用,出于某种原因,返回整个数据帧并从0索引,因此存在大量的NAN

first_100_train['Prediction'] = first_100[0]
这几乎就是我想要的,但由于索引不同,数据不匹配。如果有任何建议,我将不胜感激

编辑:在成功加入数据帧后,我现在有了以下内容:

我希望能够删除最后一列

这是第一个_100.head()

还有第一列火车头()


问题是,第一列\u 100的索引2实际上对应于第一列\u 100的索引480,设置默认索引值,并
drop=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)

通过和
drop=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)

谢谢,这是非常接近它-现在我有一个问题,最后一列仍然显示所有的南-我已经尝试过按索引删除它,你知道我可以删除它的其他方式吗?谢谢你的帮助help@Raph117-对我来说,测试并不容易,因为没有数据。是否可以添加一些示例数据,例如10行和测试
first_10
?嗨,jezrael,我刚刚在问题中添加了一些详细信息,您可以看到dataframe@Raph117-可以添加到问题
打印(第一列\u 100.标题(10)
打印(第一列\u 100.标题(10))中
?@Raph117-它应该可以工作,修改第二个解决方案。谢谢,这非常接近-现在我有一个问题,最后一列仍然显示所有的NAN-我已经尝试按索引删除它,你知道我可以删除它的其他方法吗?谢谢你的帮助help@Raph117-对我来说,这不容易测试,因为没有数据。可以添加一些样本数据a、 例如,对于10行和测试
first_10
?嗨,jezrael,我刚刚在问题中添加了一些详细信息,您可以看到dataframe@Raph117-是否可以添加到问题
打印(第一个\u 100.头(10)
打印(第一个\u 100\u.头(10)
?@Raph117-它应该工作,修改第二个解决方案。