当我尝试从两列即pids和SalePrice创建数据框时,出现错误“异常:数据必须为一维”。我认为错误即将到来,因为这两个数据系列的格式不同,如下所示。请帮助我如何使这些数据系列相同
ksubmission = pd.DataFrame({'Id':pids,'SalePrice':predictions_kaggle})
例外:数据必须是一维的
pids.shape
(1459,)
projections_kaggle.shape
(1459,1)
projections_kaggle采用以下格式
array([[115901.20520943],
[144313.70246636],
[165320.94012928],
...,
[155759.14767572],
[111175.64223766],
[249104.99042467]])
而pids的格式如下
0 1461
1 1462
2 1463
3 1464
4 1465
...
1454 2915
1455 2916
1456 2917
1457 2918
1458 2919
Name: Id, Length: 1459, dtype: int64
最佳答案
我认为如果长度相同,则需要这样做:
import pandas as pd
import numpy as np
pd.DataFrame(predictions_kaggle, index=pids).reset_index().rename(columns={'index': 'Id', 0:'SalePrice'})
or
pd.DataFrame({'Id':pids,'SalePrice':np.ndarray.flatten(predictions_kaggle)})