python非数值型数据_利用pandas将非数值数据转换成数值的方式

本文介绍了如何处理Python数据分析中遇到的非数值型数据,通过自定义函数将类别数据转换为0-1之间的数值,同时也提到了存在的问题和解决方案,包括LabelEncoder的方法。适合初学者参考。
摘要由CSDN通过智能技术生成

handle non numerical data

举个例子,将性别属性男女转换成0-1,精通ML的小老弟们可以略过本文~~,

这里不考虑稀疏向量的使用,仅提供一些思路。本来想直接利用pandas的DataFrame.iloc加上for循环直接转换,但试过一遍之后,原数据并有改变。。。。蛋疼写了一个比较 菜的函数,如下。

# 非数值列处理函数

def handel_non_numerical_data(df,name): #----------------name是需要处理的列名称(str),暂不考虑列表

nrows = len(df[name]) #----------------数据集的行数

old_col = df.columns.tolist() #----------------初始的列名集合

name_index = old_col.index(name) #---------要处理的列的在数据集中的索引值

name_data = df[name].values.tolist()#-----------将要处理烦人列复制成一个列表

df.drop([name],axis =1,inplace =True)

unique_kinds = set(name_data)

convert_dict = {}; x = 0 #构造对应种类数值转化字典

for i in unique_kinds:

convert_dict[i] = x

x += 1

def convert(val):

return convert_dict[val]

name_data = list(map(conv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值