我在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/