美文网首页
pandas里数据结构Category

pandas里数据结构Category

作者: 崔吉龙 | 来源:发表于2019-03-08 11:11 被阅读0次

问题描述

在机器学习中,我们经常要用到一些类变量(分类变量),比如小汽车有三种颜色供用户选择(red, blue,yellow),那么在进行机器学习的算法计算时,我们需要把这些字符型类别用具体的数字表示,比如0代表red、1代表blue、2代表yellow。类变量Category应运而生。

转化类变量

最简单的模式,就是直接使用Categorical进行类别编码

In [206]: import pandas as pd
     ...: data = ['a','a','b','c','c']
     ...: print(data)
['a', 'a', 'b', 'c', 'c']

# list直接编码成类变量
In [207]: cat_data = pd.Categorical(data)
     ...: print(cat_data)
[a, a, b, c, c]
Categories (3, object): [a, b, c]

# 编码之后的结果
cat_data.codes
Out[208]: array([0, 0, 1, 2, 2], dtype=int8)

# 类别映射表
cat_data.categories
Out[209]: Index(['a', 'b', 'c'], dtype='object')

当然我们也可以做的稍微复杂点,就是可以指定类别映射表。

In [210]: car_colors = ['Blue', 'Red', 'Green']
     ...: car_data = ['Blue','Green','Red','Blue','Red']
     ...: cat_car = pd.Categorical(car_data, categories=car_colors)
     ...: print(cat_car)
[Blue, Green, Red, Blue, Red]
Categories (3, object): [Blue, Red, Green]

In [211]: cat_car.codes
Out[211]: array([0, 2, 1, 0, 1], dtype=int8)

In [212]: cat_car.categories
Out[212]: Index(['Blue', 'Red', 'Green'], dtype='object')

我们可以动态修改类别映射表

In [214]: cat_car.categories = ['Purple','Yellow','Mauve']
     ...: print(cat_car)
[Purple, Mauve, Yellow, Purple, Yellow]
Categories (3, object): [Purple, Yellow, Mauve]
# codes没有变化,只是类别名称变了
In [215]: cat_car.codes
Out[215]: array([0, 2, 1, 0, 1], dtype=int8)

相关文章

  • pandas里数据结构Category

    问题描述 在机器学习中,我们经常要用到一些类变量(分类变量),比如小汽车有三种颜色供用户选择(red, blue,...

  • Pandas-24. Category

    Pandas-24. Category Category是Pandas数据类型 只能采用有限的数据量,通常是固定长...

  • 2021-12-31 Python-23

    pandas pandas数据结构 pandas 有 2 个常用的数据结构:Series 和 Dataframe一...

  • pandas

    pandas 入门 pandas 的数据结构介绍 pandas 有两个重要的数据结构:Series和DataFra...

  • pandas入门 02 数据结构

    0 pandas数据结构简介 pandas主要处理下面三种数据结构 Series DataFrame Panel ...

  • Pandas-2019-03-14

    Pandas Pandas 介绍 Pandas主要处理的数据结构 ·系列(Series)·数据帧(DataFram...

  • pandas 数据结构简介

    pandas 数据结构及构建 pandas 主要有两种数据结构: Series 和 DataFrame。Serie...

  • pandas入门

    引入pandas和常用的数据结构Series,DataFrame 一、pandas的数据结构的介绍 1.Serie...

  • 使用python进行数据分析<五>(pandas入门

    pandas基于Numpy构建 pandas 的数据结构介绍 Series DataFrame

  • 05-OC中Category的底层原理

    Category 本质 category的实现原理?,category的底层数据结构? 我们创建一个Person类...

网友评论

      本文标题:pandas里数据结构Category

      本文链接:https://www.haomeiwen.com/subject/jimseqtx.html