我在sklearn.cluster时遇到了一些麻烦。

我已经将我的数据准备好进行聚类,并且有几列包含浮点型数据。

我吃了两次,dtype列是float64,但是当我尝试

df['cluster'] = cluster.fit_predict([df.columns[1:])


我知道了:

ValueError: could not convert string to float: column_name_1


最后的回溯看起来像

       ...
   -> return self.fit(X).lables
       ...
   -> X = Self._check_fit_data(X)
       ...
   -> X = check_array(X, accept_sparce='csr', dtype = [np.float, np.float32])
       ...
   -> array = np.array(array, dtype=dtype, order=order, copy=copy)


我试图将float转换为字符串并返回,但是它不起作用。
我应该如何解决此问题?
附言我使用Python 2.7。

最佳答案

您正在尝试适合列名称。

df['cluster'] = cluster.fit_predict([df.columns[1:])


它应该是

df['cluster'] = cluster.fit_predict(df.loc[:,1:])

关于python - 如何访问除 Pandas DataFrame的第一列以外的所有列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53915472/

10-12 17:46