我有一个名为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]
这几乎是我想要的,但是再次由于索引不同而导致数据不匹配。我真的很感谢任何建议。
编辑:在设法加入数据框之后,我现在有了这个:
我希望能够删除最后一列...
这是first_100.head()
和first_100_train.head()
问题在于,first_100的索引2实际上对应于first_100_train的索引480
答案 0 :(得分:0)
通过DataFrame.reset_index
和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)