2017-06-23 23 views
1

我想在大熊貓建立一個數據框下面的代碼:創建數據框在熊貓(錯誤的形狀)

df_coefficients = pd.DataFrame(data = log_model.coef_, index = X.columns, 
columns = ['Coefficients']) 

不過,我不斷收到以下錯誤:

形狀傳遞的值的是(5,1),指數意味着(1,5)是

的值和指數如下:

指數=

Index([u'Daily Time Spent on Site', u'Age', u'Area Income', 
     u'Daily Internet Usage', u'Male'], 
     dtype='object') 

值=

array([[ -4.45816498e-02, 2.18379839e-01, -7.63621392e-06, 
    -2.45264007e-02, 1.13334440e-03]]) 

如何我會解決這個問題?我之前構建過相同類型的表,並且我從來沒有收到過這個錯誤。

任何幫助,將不勝感激。

感謝

回答

1

它看起來像你的指數和值陣列具有不同的形狀。正如你所看到的,Index數組有單個括號,而Values數組有雙括號。

這種方式python讀取索引的形狀(5,1),而值數組是(1,5)。

,如果你輸入值,你在問題中寫道:

Values = 

array([[ -4.45816498e-02, 2.18379839e-01, -7.63621392e-06, 
-2.45264007e-02, 1.13334440e-03]]) 

,並呼籲Values.shape返回 Values.shape (1,5)

相反,如果你設置的值如下:

Values = np.array([ -4.45816498e-02, 2.18379839e-01, -7.63621392e-06, 
-2.45264007e-02, 1.13334440e-03]) 

那麼值的形狀將是(5,)它將適合索引數組。

0

您的數據有五列和一行,而不是一列和五行。只需使用.T的轉置版本:

df_coefficients = pd.DataFrame(data = log_model.coef_.T, index = X.columns, 
           columns = ['Coefficients']) 
相關問題