• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    pandas数据处理之 标签列字符转数字的实现

    机器学习中,当我们在进行数据预处理的时候,对于标签列非字符的数据,我们往往需要将其转换成字符,因为有的算法可能不支持非数字类型来做特征。

    那么怎么快捷地来着这个转换呢,请看我的示例:

    1.构建测试数据

    import pandas as pd
    array = ['good','bad','well','bad','good','good','well','good']

    2.数据转换下,并获取标签列的字典

    df = pd.DataFrame(array,columns=['status'])
    status_dict = df['status'].unique().tolist()

    3.使用函数进行转换

    df['transfromed']=df['status'].apply(lambda x : status_dict.index(x))

    这样,就将标签列处理好了哈

    等用完之后,再转回来

    df['transfromed1']= df['transfromed'].apply(lambda x : status_dict[x])

    补充:pandas factorize将字符串特征转化为数字特征

    将原始数据中的字符串特征转化为模型可以识别的数字特征可是使用pandas自带的factorzie方法。

    原始数据的job特征值如下

    都是字符串特征,无法用于训练,当然可以单独建立map硬编码处理,但是pandas已经封装好了相应的方法。

    data = pd.read_csv("data/test_set.csv")
    data["job"] = pd.factorize(data["job"])[0].astype(np.uint16)

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    您可能感兴趣的文章:
    • pandas 对每一列数据进行标准化的方法
    • pandas数据处理进阶详解
    • Pandas 数据处理,数据清洗详解
    • 使用pandas模块实现数据的标准化操作
    上一篇:python用pyecharts实现地图数据可视化
    下一篇:python 批量重命名移动文件
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    pandas数据处理之 标签列字符转数字的实现 pandas,数据处理,之,标签,