深入 category 数据类型

news2024/9/24 21:27:45

目录

前言

1 作用

2 用法

 2.1通过 pd.Categorical 创建 category 类型数据,同时指定可选项

2.2  通过 dtype 参数创建 category 类型数据

2.3  此时对数据进行排序 

2.4  通过 CategoricalDtype 指定 category 数据的类型顺序 

 2.5  想要临时修改排序规则,可以使用categories类型的series对象.cat.reorder_categories()方法

3总结


前言

是对这篇博客的部分知识点进行拓展(这个博主的数据分析专栏贼全面,宝藏博主)

(八)Pandas数据类型https://liangshan.blog.csdn.net/article/details/110438297下面直接开始!!!!!!!

---------------------------------------------------------------------------------------------------------------------------------

1 作用

 category 类型数据是由固定的且有限数量的变量组成的,比如:性别

---------------------------------------------------------------------------------------------------------------------------------

2 用法

 2.1通过 pd.Categorical 创建 category 类型数据,同时指定可选项

s = pd.Series(
    pd.Categorical(['a','b','c','d'],
                  categories=['c','b','a'])
)
s

 

 注意:不在 category 限定范围内的数据会被置为 NaN

2.2  通过 dtype 参数创建 category 类型数据

cat_series=pd.Series(['B','D','C','A'],dtype='category')
cat_series

 

2.3  此时对数据进行排序 

cat_series.sort_values()

2.4  通过 CategoricalDtype 指定 category 数据的类型顺序 

from pandas.api.types import CategoricalDtype
cat=CategoricalDtype(categories=['B','D','A','C'],ordered=True)
print(cat_series)
print('='*20)
print(cat_series.sort_values())
print('='*20)
print(cat_series.astype(cat).sort_values())

 2.5  想要临时修改排序规则,可以使用categories类型的series对象.cat.reorder_categories()方法

print(cat_series)
cat_series.cat.reorder_categories(['D','B','C','A'],ordered=True,inplace=True)
print(cat_series)

-------------------------------------------------------------------------------------------------------------------------------- 

3总结

 category 类型,可以用来进行排序,并且可以自定义排序顺序
CategoricalDtype 可以用来定义顺序

 不要忘记点赞哦=v=!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/32117.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

低代码开发是未来软件开发的主流模式

低代码平台起始于20世纪80年代4GL“第四代编程语言”。2014年,Forrester research 提出低代码平台的概念,中国低代码市场进入发展期;2018 年,西门子收购低代码企业 Mendix 、美国低代码独角兽企业 Outsystem 获得 1.5 亿美元的融资…

Flutter高仿微信-第22篇-支付-二维码收款(二维码)

Flutter高仿微信系列共59篇,从Flutter客户端、Kotlin客户端、Web服务器、数据库表结构、Xmpp即时通讯服务器、视频通话服务器、腾讯云服务器全面讲解。 详情请查看 效果图: 实现代码: /*** Author : wangning* Email : maoning20080809163.…

安装Jenkins并在ruby中访问

1. 安装Jenkins 最近不知道为啥,根据官网Linux安装Jenkins的时候下不来安装包,提示连接超时。尝试多次无果后决定在window上安装 curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.as…

105-120-Hadoop-MapReduce-outputformat:

105-Hadoop-MapReduce-outputformat: OutputFormat 数据输出,OutputFormat接口实现类 OutputFormat是MapReduce输出的基类,所有实现MapReduce输出都实现了 OutputFormat 接口。下面我们介绍几种常见的OutputFormat实现类。 1.O…

Fiddler利用Edxposed框架+TrustMeAlready来突破SSL pinning抓取手机APP数据

一、背景 在使用fiddler做代理抓取应用数据包时,如果要抓取到HTTPS数据,需要将fiddler证书导入到浏览器或手机。浏览器或手机设置好fiddler的代理地址,即可抓取到https数据包。 如果APP应用采用证书锁定后,将无法抓取到https数据…

[附源码]java毕业设计医院档案管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

RabbitMQ 简介

RabbitMQ 简介 首先我们先看一下常见的MQ产品 在上图我们可以知道RabbitMQ和ActiveMQ都支持AMQP协议,那么什么时AMQP呢? AMQP,即 Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议&a…

Android启动以及 app 启动流程 笔记

Android 启动流程 init 进程是 用户控件鼻祖 zygote 进程是 java进程鼻祖 zygote进程的操作 1.native 层 做的操作 1.初始化java运行环境 虚拟机 (内存管理) 2.注册jni 3.运行 zygoteinit.main方法 进入java 2.java …

Serverless Devs 社区联合信通院邀请您参加 2022 中国 Serverless 用户调查

作者:云原生产业联盟 在创新发展需求的不断驱动下,用户关注点逐步上移,敏捷成为破局高频竞争的利器。以应用为中心、屏蔽底层复杂逻辑,灵活扩展,按需取用的服务器无感知(Serverless)技术符合云…

【GUI视频教程】GUI综合实战视频教程第3期:GUIX Studio一条龙设计主界面,底栏和窗口切换控制(2022-11-21)

视频教程汇总帖:【学以致用,授人以渔】2022视频教程汇总,DSP第10期,ThreadX第5期,BSP驱动第24期,USB实战第4期,GUI实战第3期(2022-11-21) - STM32F429 - 硬汉嵌入式论坛 …

Dubbo 服务注册与启动源码解析

Dubbo 版本&#xff1a;3.1.2 自定义标签解析 在 DubboNamespaceHandler 中会添加 DubboDeployApplicationListener&#xff0c;其继承了 ApplicationListener<ApplicationContextEvent> 关于ApplicationListener&#xff0c;可参考&#xff1a;Spring 事件基本使用 服…

YoloV5+TensorRT封装|C#调用dll实现V5+TRT目标检测

在目标检测得领域中&#xff0c;yolo系列无疑是最强得目标检测框架&#xff0c;而其中得yolov5更是扛把子得存在&#xff0c;虽然有着众多的yolo系列版本&#xff0c;但是在工业领域中yolov5还是用的最多&#xff0c;yolov5 yyds&#xff0c;&#xff0c;&#xff0c;先奉献上我…

上海亚商投顾:沪指高开低走 钠离子电池、储能概念崛起

上海亚商投顾前言&#xff1a;无惧大盘大跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 市场情绪 三大指数今日高开低走&#xff0c;收盘均小幅下跌&#xff0c;以中字头为首的权重股走弱&#xff0c;上证50跌超0.…

SpringBoot中如果字段为空就不返回给前端

SpringBoot中如果字段为空就不返回给前端前言测试参数的执行结果JsonInclude.Include.ALWAYSJsonInclude.Include.NON_NULLJsonInclude.Include.NON_ABSENTJsonInclude.Include.NON_EMPTYJsonInclude.Include.NON_DEFAULTJsonInclude.Include.USE_DEFAULTSJsonInclude.Include.…

2.(vue3.x+vite)使用vue-router

前端技术社区总目录(订阅之前请先查看该博客) 前端技术社区:vue3.x+vite,node篇,前端小技术,前端资料篇等相关内容的介绍 1:安装vue-router npm i vue-router 2:创建router文件 在src的目录下创建router文件夹与index.js文件 index.js文件内容如下: import {cr…

C#学习以及感受

我本来是写Java的,但是这边的代码用的是.NetCore框架 就自学了 但是学下来,发现其实这两者并没有什么本质区别 Java导包用import而c#用using Java与c#都是写一个静态的main方法来启动,c#的Main必须大写 Java和c#的数据类型基本一样,c#中的string的s可以小写,c#的布尔类型是bool…

Landsat Collection 2 T1一级数据详细介绍(数据处理过程和几何精度)

几项数据处理、几何和辐射改进&#xff0c;以及新的数据分发过程&#xff0c;定义了 Collection 2 Level-1 数据。此页面提供了有关用户可以在 Landsat Collection 2 Level-1 数据中找到的更改的详细信息。请参阅本页下方列出的特定于仪器的数据格式控制手册&#xff0c;以更全…

Redis基础命令(List类型)双链表

目录 概述&#xff1a; 特征&#xff1a;&#xff08;与LinkedList类似&#xff09; List常见命令 1.Lpush key element.....&#xff1a;向列表左侧插入一个或多个元素 2.LPOP key &#xff1a;移除并返回列表左侧的第一个元素&#xff0c;没有则返回nil 3.RPUSH key ele…

【allegro 17.4软件操作保姆级教程四】布线前准备之叠层和阻抗设计

通常在设计中&#xff0c;如果我们有控制阻抗的要求&#xff0c;一般会在加工工艺文档里进行说明&#xff0c;板厂拿到文档和相关工程文件后&#xff0c;会进行工程评估确认&#xff0c;会根据板厂的实际情况进行叠层和线宽的调整&#xff0c;所以这里只是进行简单分析&#xf…

sqli-labs/Less-59

这一关又只有五次机会 而且仍然是以id作为注入点 我们尽量再前一轮完成注入类型的判断 在后一轮完成各种爆破操作 首先先判断注入类型是否属于数字型注入 输入id1 and 12 回显如下 没有回显 说明后续操作不能使用报错注入解决问题 并且肯定是属于数字型注入 倒是有无修饰符不懂…