【问题标题】:How can i convert a categorical feature which contains strings to a numerical value in python如何将包含字符串的分类特征转换为python中的数值
【发布时间】:2020-07-11 21:37:31
【问题描述】:

[输入图像描述[在此处输入图像描述]1在此处][2]输入

对于组合中的数据集:dataset['Sex'] = dataset['Sex'].map( {'female': 1, 'male': 0} ).astype(int)train.head()

我想将由男性和女性组成的性别类别转换为数值

这是我在下面遇到的 ValueError

ValueError:无法将非有限值(NA 或 inf)转换为整数

图片样本数据集 https://drive.google.com/file/d/1iYtpo2wxhiMuteIMjHHYOk93mty4deBe/view?usp=sharing

【问题讨论】:

  • 您确定所有值都是男性还是女性?
  • 请添加您的数据集样本
  • 是的,所有值都是男性或女性
  • 如果确实所有值都是“男性”或“女性”,那么您使用的代码将正常工作。但是,如果其中任何一个不是,那么map 将返回nan,这将导致astype(int) 提高您收到的ValueError。对于Sex 功能,我没有看到除了“男性”和“女性”之外没有任何其他内容的泰坦尼克号数据集版本,但这是唯一有意义的解释。 (顺便说一句,在这里使用astype(int) 是多余的,因为映射dict 无论如何都会映射到整数。)

标签: python pandas jupyter-notebook data-science


【解决方案1】:

LabelEncoder() 可以为您完成。它通常用于将分类变量转换为数值。查看这篇文章,作者以你需要的方式使用它。关联: https://towardsdatascience.com/encoding-categorical-features-21a2651a065c

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多