我想训练给出df X and Y
的数据; X
是功能,而Y
是目标变量。
首先将df转换为数组
X = X1.values
Y = Y1.values
print(type(X))
<class 'numpy.ndarray'>
print(type(Y))
<class 'numpy.ndarray'>
这是X和Y看起来像前两行:
print(X)
[[1 100.0 10 -8.465 0 0.332 0.0565 0.47100000000000003 0.696 0.521 292987
4.0 0.302 0.0 [1, 2] [1] [1, 1, 1, 1] [0, 0, 1, 1, 0, 1, 0, 0]]
[1 175.483 6 -8.205 0 0.364 0.128 0.564 0.504 0.705 239320 4.0 0.0752 0.0
[1, 2] [1] [1, 1, 1, 1] [0, 1, 0, 0, 0, 0, 0, 1]]
print(Y)
[1 0]
然而,当我尝试训练数据时:clf.fit(X,Y)
错误如:
ValueError: setting an array element with a sequence.
我认为问题来自X内的向量;我能解决什么? 谢谢!
=============================================== == 或者我认为问题是: 如何处理包含浮点数和向量的数据帧以进行数据训练?
Col_A Col_B Col_C
0 0.0 [1, 2] [1]
1 0.0 [1, 2] [1]
答案 0 :(得分:0)
在将值传递给学习者之前,您需要将包含数组的列拆分为单独的列。一个简单的(手动)方式是:
In [18]: df
Out[18]:
Col_A Col_B
0 0 [1, 2]
1 0 [3, 4]
In [19]: pd.concat([df['Col_A'], df['Col_B'].apply(pd.Series)], axis=1).values
Out[19]:
array([[0, 1, 2],
[0, 3, 4]])