尽管我的数据框中所有值都是浮点数,但在通过k-means传递数据框时,显示无法将字符串转换为浮点数。
如何将整个数据框中的任何NaN值转换为浮点数值?
回答:
这将完成你的任务,并将所有字符串格式的列转换为分类代码,或者对这些列中的变量使用独热编码。
import numpy as np from sklearn.cluster import KMeansimport pandasdf = pandas.read_csv('zipIncome.csv')print(df)df[col_name]= df[col_name].astype('category')df[col_name] = df[col_name].cat.codeskmeans = KMeans(n_clusters=4,init='k-means++', max_iter=600, algorithm = 'auto').fit(df)print (kmeans.labels_)print(kmeans.cluster_centers_)