[英]Creating pandas series from array and list
我正在嘗試將數組數據映射到列名列表
cols = list(X.columns)
a = log_reg.coef_
pd.Series(data=a,index=cols)
但不斷收到此錯誤消息
ValueError: Length of passed values is 1, index implies 32
這是一個數據樣本
array([[-3.45917636e-04, 3.61924667e-01, -4.09270503e-01,
-8.77365851e-01, 2.63110856e-01, 1.19371203e-01,
-1.24971101e-01, 4.36160913e-01, -3.99315598e-01,
-4.43522845e-01, -4.06608631e-01, -3.75995346e-01,
-7.94023490e-02, -3.19954555e-01, -6.44072018e-01,
-6.89515406e-01, -3.31630739e-01, -4.58094286e-01,
1.17109079e-01, 2.28902301e-02, 1.74657944e-01,
4.70689088e-01, 5.72027148e-01, 2.93303704e-01,
-6.04354969e-03, -6.04084018e-01, 1.22102664e-01,
-3.65628250e-02, 8.46421904e-02, -3.97469438e-03,
1.05515634e+00, -6.57530123e-01]])
和cols中的行列表:
['Time',
'V1',
'V2',
'V3',
'V4',
'V5',
'V6',
'V7',
'V8',
'V9',
'V10',
'V11',
'V12',
'V13',
'V14',
'V15',
'V16',
'V17',
'V18',
'V19',
'V20',
'V21',
'V22',
'V23',
'V24',
'V25',
'V26',
'V27',
'V28',
'Amount',
'Hours',
'Fraudulent']
最終目的是創建一個顯示每個要素系數的系列(由cols列表表示)
你的數組里面有一個數組。 您有32個列值,但您的行數組的長度為1.因此,您的相應行和列的長度不匹配。 您需要的是內部數組,其長度為32.您可以使用索引0訪問它。
因此,請嘗試以下方法:
pd.Series(data=a[0], index=cols)
如果您的數組內部有更多嵌套數組,並且您不想使用多個索引(如a[0][0]
等),則可以使用這兩個選項中的任何一個來展平數組
pd.Series(data=a.flatten(), index=cols)
要么
pd.Series(data=a.ravel(), index=cols)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.