【python数据预处理系列】使用Pandas的factorize()函数进行类别编码(整数编码)

server/2024/12/3 1:53:01/

在Pandas中,factorize()函数主要用于将分类变量转换为整数编码,这对于减少内存使用或准备数据进行某些统计分析非常有用。

它实际上是将列的唯一值映射到从0开始的整数序列上。

假设有一个DataFrame,其中一列包含一些类别值,你希望将这些类别值替换为从0开始的整数序号,这可以看作是一种“重新命名”的方式。

以下是一个例子:

一、准备数据

import pandas as pd# 示例数据
data = {'Category': ['Apple', 'Banana', 'Cherry', 'Apple', 'Banana', 'Cherry']}
df = pd.DataFrame(data)print("Original DataFrame:")
df

二、对Categoey列进行整数编码

# 使用 factorize() 函数对 'Category' 列进行整数编码
# factorize 返回两个值:一个是编码后的Series,另一个是原始类别的数组,这里我们只需要第一个
df['Category'] = pd.factorize(df['Category'])[0]df

在这个例子中,原始的DataFrame有一列名为Category,包含苹果(Apple)、香蕉(Banana)和樱桃(Cherry)三种水果的名称。

使用pd.factorize()后,这一列的每个唯一字符串值被替换为一个整数:'Apple'变为0,'Banana'变为1,'Cherry'变为2。这样一来,虽然列名没有变,但列中的数据被赋予了新的、连续的整数标识,这在某些数据分析场景下非常有用。

 

 


http://www.ppmy.cn/server/41777.html

相关文章

鸿蒙OS开发:【Stage模型应用程序包结构】

Stage模型应用程序包结构 为了让开发者能对应用程序包在不同阶段的形态更有清晰的认知,分别对开发态、编译态、发布态的应用程序结构展开介绍。 开发态包结构 在DevEco Studio上[创建一个项目工程],并尝试创建多个不同类型的Module。根据实际工程中的…

【苍穹外卖微服务改造】引入minio

目录 1、需求2、步骤分析3、如何实现导入minio依赖编写配置属性类编写配置类编写接口编写实现类配置application.yml 4、其他实现:自定义stater5、总结 1、需求 需求来源: 下面我就给大家总结一下,如何在苍穹外卖的基础上,引入mi…

14030.ZynqMP配置vlan与ubuntu虚拟机(PC)进行通信

文章目录 1 场景描述2 zynqmp 开发板配置vlan2.1 配置内核2.2 配置vlan地址3 windows 配置网卡vlan标签3.1 网卡配置vlan标签3.2 开发板与windows进行ping连接4 ubuntu配置vlan4.1 ubuntu配置桥接,使用同样的物理网卡4.2 开发板ping 虚拟机5 VLAN的pcap与普通的pcap的区别5.1 …

set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`

TF_ENABLE_ONEDNN_OPTS是配合log输出信息来用。 os.environ["TF_CPP_MIN_LOG_LEVEL"]的取值有四个:0,1,2,3,分别和log的四个等级挂钩:INFO,WARNING,ERROR,FATA…

裸金属服务器与云服务器有什么区别?

近年来,随着云计算技术的迅速发展,裸金属和云服务器已成为企业部署业务的两种主要方式。 裸金属是指提供基础设施硬件环境,但不包含操作系统和中间件的计算资源服务。 而云服务器则是通过虚拟化技术将计算资源划分为多个虚拟机,可…

26、Flink 的状态数据结构升级

状态数据结构升级 a)概述 Flink 流应用通常被设计为永远或者长时间运行,与所有长期运行的服务一样,应用程序需要随着业务的迭代而进行调整,应用所处理的数据 schema 也会随着进行变化。 升级状态类型的数据 schema &#xff0c…

如何使用client-go构建pod web shell

代码示例及原理 原理是利用websocket协议实现对pod的exec登录,利用client-go构造与远程apiserver的长连接,将对pod容器的输入和pod容器的输出重定向到我们的io方法中,从而实现浏览器端的虚拟终端的效果消息体结构如下 type Connection stru…

初识C语言——第二十天

do while ()循环 do 循环语句; while(表达式); 句式结构: 执行过程: do while循环的特点: 代码练习: 二分法算法: int main() {int arr[] { 0,1,2,3,4,5,6,7,8,9};int k 7;//查找数字7,在arr这个数组…