微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将数字“物种”转换为鸢尾花数据集中的类别

如何解决如何将数字“物种”转换为鸢尾花数据集中的类别

我正在处理来自 sklearn 的 Iris 数据集。到目前为止,这是我的代码

iris = datasets.load_iris()

data = pd.DataFrame(iris['data'])
target = pd.DataFrame(iris['target'])

frames = [data,target]
iris = pd.concat(frames,axis=1)

iris.columns = ['sepal_length','sepal_width','petal_length','petal_width','species']

def convert_target(data):
    if data == 0:
        return 'setosa'
    elif data == 1:
        return 'versicolor'
    else:
        return 'virginica'
iris['species'] = iris['species'].apply(convert_target)

观察我如何使用 convert_target 函数将物种从数值转换为分类值。我的问题是,有没有更好、更有效的方法来做到这一点?

解决方法

你可以map

d = {0: 'setosa',1: 'versicolor',2: 'virginica'}
iris['species'] = iris['species'].map(d)

您也可以使用 numpy 索引:

cat_names = np.array(['setosa','versicolor','virginica'])
iris['species'] = cat_names[iris['species']]
,

您可以通过字典使用 map 代替 replace

iris['species'] = iris['species'].replace({0:'setosa',1:'versicolor',2:'virginica'})
iris.samle(5)

     sepal_length  sepal_width  petal_length  petal_width     species
3             4.6          3.1           1.5          0.2      setosa
73            6.1          2.8           4.7          1.2  versicolor
138           6.0          3.0           4.8          1.8   virginica
6             4.6          3.4           1.4          0.3      setosa
140           6.7          3.1           5.6          2.4   virginica

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。