在scikitlearn中拟合包含列表的列

2024-09-30 08:19:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pandas数据帧,其中包含一个名为“X”的列,其中包含300个double的列表,在尝试运行时包含一个名为“label”的列:

cls = SVC()
cls.fit(miniset.loc[:,'X'],miniset.loc[:,'label'])

我得到一个错误: ValueError: setting an array element with a sequence.

你知道怎么修吗?你知道吗

谢谢

我的数据帧头

  label                                                  X
0      0  [-1.1990741, 0.98229957, -2.7413394, 0.5774205...
1      1  [0.10277234, 1.8292198, -1.8241594, 0.07206603...
2      0  [-0.26603428, 1.8654639, -2.2495375, -0.695124...
3      0  [-1.1662953, 3.0714324, -3.4975948, 0.01011618...
4      0  [-0.13769871, 1.9866339, -1.9885212, -0.830097...

Tags: 数据anpandas列表错误arraysettingloc
2条回答

您可以尝试:

cls.fit(np.array(miniset.loc[:,'X'].tolist()),miniset.loc[:,'label'])

其中tolist()提供了一个2D数组(这就足够了)。你知道吗

您的问题是数据帧的“X”列。为了让它与SVC(或者基本上任何sciket学习模型)一起工作,您需要将该列拆分为几个列,每个列对应于列表中的每个元素。你知道吗

您可以通过执行类似于this的操作来解决这个问题。你知道吗

pandas包不打算将列表或其他集合存储为值。它用于存储paneldata,因此名为pandas。你知道吗

相关问题 更多 >

    热门问题