python-3.x - 无法将字符串转换为浮点数
问题描述
Sales Discount Profit Product ID
0 0.050090 0.000000 0.262335 FUR-ADV-10000002
1 0.110793 0.000000 0.260662 FUR-ADV-10000108
2 0.309561 0.864121 0.241432 FUR-ADV-10000183
3 0.039217 0.591474 0.260687 FUR-ADV-10000188
4 0.070205 0.000000 0.263628 FUR-ADV-10000190
5 0.697873 0.000000 0.281162 FUR-ADV-10000571
6 0.064918 0.000000 0.261285 FUR-ADV-10000600
7 0.091950 0.000000 0.262946 FUR-ADV-10000847
8 0.056013 0.318384 0.257952 FUR-ADV-10001283
9 0.304472 0.318384 0.265739 FUR-ADV-10001440
10 0.046234 0.318384 0.261058 FUR-ADV-10001659
我正在使用 K 肘法找到正确的簇数
使用肘法寻找最佳聚类数
import matplotlib.pyplot as plt
def kelbow(final_df,k):
from sklearn.cluster import KMeans
x = []
for i in range(1,k):
kmeans = KMeans(n_clusters = i)
kmeans.fit(final_df)
x.append(kmeans.inertia_)
plt.plot(range(1,k), 30)
plt.title('The elbow method')
plt.xlabel('The number of clusters')
plt.ylabel('WCSS')
plt.show()
return x
返回函数 kelbow(final_df,30),
但是代码抛出错误,ValueError: could not convert string to float: 'TEC-STA-10004927' 我怎样才能找到集群?
解决方案
制作虚拟变量。
final_df = pd.get_dummies(final_df, columns=['ProductID'], dtype=('int64'))
final_df = final_df.drop(['ProductID'], axis=1)
推荐阅读
- laravel-5 - 从选择框 laravel 插入静态值
- angular - 使用 ngx-ssrs-reportviewer 从 Angular 访问 SSRS 报告
- python - 我无法将 MySQL 版本 8 连接到 Django 2.2 项目
- java - http和https Spring-boot的性能比较
- dspace - 如何在页面源代码中隐藏元数据字段?
- r - 如何在ggplot geoms中编写具有整洁评估的函数?
- java - 如果添加带有 WebMvcConfigurationSupport 的转换器,则 Swagger OpenAPI 3 不会显示在 springboot 2 上
- azure-devops - Azure Archive 创建大型嵌套文件结构
- nashorn - Nashorn:如何在函数或对象上调用函数
- android - 如何根据 RSSI 对 BLE 设备进行排序?