1.前言
2.实现步骤
1.数据加工:把数据转为全数字(比如性别男女,转换为0 和 1)
3.预测
3.代码
原数据类似这样(source:http:img–blog.csdnimg.cn/20201212150816452.png):
代码:
from sklearn.cluster import KMeans from sklearn import preprocessing
skill_info_df.to_excel("C:/work/20230224待分类数据/test.xlsx") # fordrop the string people Chinese name for_train_skill_info_df = skill_info_df.iloc[:, 1:] # set k k_model = KMeans(n_clusters=5) # 数据归一化 min_max_scaler = preprocessing.MinMaxScaler() train_x = min_max_scaler.fit_transform(for_train_skill_info_df) # 训练模型 k_model.fit(train_x) predict_y = k_model.predict(train_x) print(predict_y) # add predict result to data skill_info_df['class'] = predict_y skill_info_df.to_excel("C:/work/20230224预测结果/classified_info.xlsx")
4.常见问题
4.1 数据加工: 行列转换:
python实现列转行–pivot_table函数-CSDN博客
ps:pivot 函数遇到为空情况填充NAN,导入模型会报字符串非数字错误。
解决办法:设置 fill_value 参数:数据为空情况处理,默认填充NAN值。可以修改如果原数据为空,比如设为0
4.2 数据加工:查找df行特定列的值
问题描述:当使用 isin 函数 或者 == 判断时候,返回的是Series 数据类型。不是单独的数值all_prod_df[all_prod_df[‘product_id‘].isin(sample_list)]
4.3 修改df数据中的男女为 0 1
basic_info_df['性别'][basic_info_df['性别'] == '男'] = 1 basic_info_df['性别'][basic_info_df['性别'] == '女'] = 0
4.4 df中新增一列,根据list新增
skill_info_df['age'] = age_list
方法二:
4.5 根据df的几列创建新的df
python中dataframe,df中挑选几列生成新df-CSDN博客
原文地址:https://blog.csdn.net/hzp666/article/details/134732346
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_45276.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。