-1
我有一個Pandas Dataframe,它有4行N列,我將其中1列用作分類器的特徵。顯示如下將Pandas Dataframe轉換爲numpy數組時將其重新塑形
0 [1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]
1 [0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1]
2 [0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0]
3 [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0]
此列實質上是一個list
16個二進制編碼的功能。
但是,當我養活這對我的分類,下面的錯誤出現
Traceback (most recent call last):
clf.fit(X,y)
X, y = check_X_y(X, y, 'csr')
ensure_min_features, warn_on_dtype, estimator)
array = np.array(array, dtype=dtype, order=order, copy=copy)
ValueError: setting an array element with a sequence.
我猜想錯誤是由於擬合方法想要一個N×M的矩陣,而它得到的形狀是
(4,)
所以基本上,
我想嘗試轉換形狀(4)塑造(4,16)
我想下面的功能:
X = np.asarray(train_data['presence_vector'])
X.reshape((4,16))
X = train_data['presence_vector'].values
X.reshape((4,16))
X = train_data['presence_vector'].as_matrix()
X.reshape((4,16))
,可是沒有工作。
你只是不能重塑形狀(4,)來塑造(4,16)他們有不同數量的元素。這不能解決你的問題(這是完全不清楚的)。 – Julien
https://coderpad.io/JWYMP4TX – mwweb
我以編程方式瞭解這些'可能'有不同的元素,但我知道'它總是會有相同的號碼。的元素。我只是想知道是否有沒有循環的解決方案。 –