当我尝试从两列即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)})

08-25 10:38