[英]Error when creating dataframe from two columns in Python panda
當我嘗試從兩列(即 pids 和 SalePrice)創建數據框時,出現錯誤“異常:數據必須是一維的”。 我認為錯誤即將到來,因為這兩個數據系列的格式不同,如下所示。 請幫助我如何使這些數據系列相同
ksubmission = pd.DataFrame({'Id':pids,'SalePrice':predictions_kaggle})
例外:數據必須是一維的
pids.shape
(1459,)
predicts_kaggle.shape
(1459, 1)
predicts_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)})
這里的問題是您的predictions_kaggle
數組不是一維數組,而是二維數組。 作為證明,一維數組的形狀應為(n,)
形式(n,)
但您有(n,1)
表示數組的每一行都是數組內的單個值。 對此的快速解決方法是展平數組,這會將其變成一維數組:
ksubmission = pd.DataFrame({'Id':pids,'SalePrice':predictions_kaggle.flatten()})
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.