Python酷库之旅-第三方库Pandas(174)
目录
一、用法精讲
801、pandas.Categorical类
801-1、语法
801-2、参数
801-3、功能
801-4、返回值
801-5、说明
801-6、用法
801-6-1、数据准备
801-6-2、代码示例
801-6-3、结果输出
802、pandas.Categorical.from_codes方法
802-1、语法
802-2、参数
802-3、功能
802-4、返回值
802-5、说明
802-6、用法
802-6-1、数据准备
802-6-2、代码示例
802-6-3、结果输出
803、pandas.Categorical.dtype属性
803-1、语法
803-2、参数
803-3、功能
803-4、返回值
803-5、说明
803-6、用法
803-6-1、数据准备
803-6-2、代码示例
803-6-3、结果输出
804、pandas.Categorical.categories属性
804-1、语法
804-2、参数
804-3、功能
804-4、返回值
804-5、说明
804-6、用法
804-6-1、数据准备
804-6-2、代码示例
804-6-3、结果输出
805、pandas.Categorical.ordered属性
805-1、语法
805-2、参数
805-3、功能
805-4、返回值
805-5、说明
805-6、用法
805-6-1、数据准备
805-6-2、代码示例
805-6-3、结果输出
二、推荐阅读
1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页



一、用法精讲
801、pandas.Categorical类
801-1、语法
# 801、pandas.Categorical类
class pandas.Categorical(values, categories=None, ordered=None, dtype=None, fastpath=_NoDefault.no_default, copy=True)
Represent a categorical variable in classic R / S-plus fashion.Categoricals can only take on a limited, and usually fixed, number of possible values (categories). In contrast to statistical categorical variables, a Categorical might have an order, but numerical operations (additions, divisions, …) are not possible.All values of the Categorical are either in categories or np.nan. Assigning values outside of categories will raise a ValueError. Order is defined by the order of the categories, not lexical order of the values.Parameters:
values
list-like
The values of the categorical. If categories are given, values not in categories will be replaced with NaN.categories
Index-like (unique), optional
The unique categories for this categorical. If not given, the categories are assumed to be the unique values of values (sorted, if possible, otherwise in the order in which they appear).ordered
bool, default False
Whether or not this categorical is treated as a ordered categorical. If True, the resulting categorical will be ordered. An ordered categorical respects, when sorted, the order of its categories attribute (which in turn is the categories argument, if provided).dtype
CategoricalDtype
An instance of CategoricalDtype to use for this categorical.Raises:
ValueError
If the categories do not validate.TypeError
If an explicit ordered=True is given but no categories and the values are not sortable.
801-2、参数
801-2-1、values(必须):array-like(如列表、numpy数组等),表示输入的值,通常是一个列表、数组或其他可迭代对象,其中的数据将被转换为分类类型。
801-2-2、categories(可选,默认值为None):array-like,定义分类的类别,可以是一个列表或数组,包含所有可能的类别。如果不指定,类别将从values中提取。如果categories的元素不包含在values中,仍可将其指定,但这些类别将被视为未出现类别。
801-2-3、ordered(可选,默认值为None):布尔值,指定类别是否有顺序,如果设为True,则可用来执行有序比较。
801-2-4、dtype(可选,默认值为None):CategoricalDtype或其他类型,指定类别的数据类型,可以通过设置此参数来自定义数据类型。
801-2-5、fastpath(可选):布尔值,如果设为True,将绕过一些验证和处理步骤,适用于已经知道数据是分类的情况。
801-2-6、copy(可选,默认值为True):布尔值,指定是否复制输入的数据,如果设为True,将创建values的副本。
801-3、功能
- 内存效率: 使用分类数据可以显著降低内存消耗,特别是在处理重复类别的情况下。
- 提高性能: 在数据分析中,分类数据的比较和处理速度通常比非分类数据快。
- 易于操作: 提供诸如排序、分组等功能,可以方便地进行数据操作。
801-4、返回值
返回一个Categorical对象,其中包含:
- 分类值: 将values变量转换为指定的分类类型。
- 类别信息: 所有定义的类别,包括用户提供的类别和从values中提取的类别。
- 有序性信息: 指示类别是否有序的布尔值。
801-5、说明
无
801-6、用法
801-6-1、数据准备
无
801-6-2、代码示例
# 801、pandas.Categorical类
import pandas as pd
# 创建一个分类类型数据
data = ['apple', 'banana', 'orange', 'banana', 'apple']
cat_data = pd.Categorical(data, categories=['apple', 'banana', 'orange'], ordered=True)
print(cat_data)
801-6-3、结果输出
# 801、pandas.Categorical类
# ['apple', 'banana', 'orange', 'banana', 'apple']
# Categories (3, object): ['apple' < 'banana' < 'orange']
802、pandas.Categorical.from_codes方法
802-1、语法
# 802、pandas.Categorical.from_codes方法
classmethod Categorical.from_codes(codes, categories=None, ordered=None, dtype=None, validate=True)
Make a Categorical type from codes and categories or dtype.This constructor is useful if you already have codes and categories/dtype and so do not need the (computation intensive) factorization step, which is usually done on the constructor.If your data does not follow this convention, please use the normal constructor.Parameters:
codesarray-like of int
An integer array, where each integer points to a category in categories or dtype.categories, or else is -1 for NaN.categoriesindex-like, optional
The categories for the categorical. Items need to be unique. If the categories are not given here, then they must be provided in dtype.orderedbool, optional
Whether or not this categorical is treated as an ordered categorical. If not given here or in dtype, the resulting categorical will be unordered.dtypeCategoricalDtype or “category”, optional
If CategoricalDtype, cannot be used together with categories or ordered.validatebool, default True
If True, validate that the codes are valid for the dtype. If False, don’t validate that the codes are valid. Be careful about skipping validation, as invalid codes can lead to severe problems, such as segfaults.New in version 2.1.0.Returns:
Categorical
802-2、参数
802-2-1、codes(必须):整数数组,表示每个数据点对应的类别编码。
802-2-2、categories(可选,默认值为None):指定类别的顺序,如果未提供,则从codes中推断。
802-2-3、ordered(可选,默认值为None):布尔值,指定分类是否有序。
802-2-4、dtype(可选,默认值为None):指定返回的Categorical对象的dtype。
802-2-5、validate(可选,默认值为True):布尔值,如果为True,会检查codes是否有效(即是否在[0, len(categories))范围内)。
802-3、功能
用于从整数编码和类别创建Categorical对象,它提供了一种直接从编码创建分类数据的方式,而不是从原始数据转换。
802-4、返回值
返回一个新的Categorical对象。
802-5、说明
无
802-6、用法
802-6-1、数据准备
无
802-6-2、代码示例
# 802、pandas.Categorical.from_codes方法
import pandas as pd
codes = [0, 1, 2, 1, 0]
categories = ['apple', 'banana', 'orange']
cat = pd.Categorical.from_codes(codes, categories)
print(cat)
802-6-3、结果输出
# 802、pandas.Categorical.from_codes方法
# ['apple', 'banana', 'orange', 'banana', 'apple']
# Categories (3, object): ['apple', 'banana', 'orange']
803、pandas.Categorical.dtype属性
803-1、语法
# 803、pandas.Categorical.dtype属性
property Categorical.dtype
The CategoricalDtype for this instance.
803-2、参数
无
803-3、功能
用于获取或设置分类数据的类型信息。
803-4、返回值
返回一个CategoricalDtype对象,表示该分类数据的类别及其是否有序的信息。
803-5、说明
无
803-6、用法
803-6-1、数据准备
无
803-6-2、代码示例
# 803、pandas.Categorical.dtype属性
import pandas as pd
# 创建一个Categorical对象
cat = pd.Categorical(['apple', 'banana', 'apple'], categories=['apple', 'banana', 'orange'], ordered=True)
# 获取dtype属性
dtype_info = cat.dtype
print(dtype_info)
# 获取类别
print(dtype_info.categories)
# 检查是否有序
print(dtype_info.ordered)
803-6-3、结果输出
# 803、pandas.Categorical.dtype属性
# category
# Index(['apple', 'banana', 'orange'], dtype='object')
# True
804、pandas.Categorical.categories属性
804-1、语法
# 804、pandas.Categorical.categories属性
property Categorical.categories
The categories of this categorical.Setting assigns new values to each category (effectively a rename of each individual category).The assigned value has to be a list-like object. All items must be unique and the number of items in the new categories must be the same as the number of items in the old categories.Raises:
ValueError
If the new categories do not validate as categories or if the number of new categories is unequal the number of old categories.
804-2、参数
无
804-3、功能
提供一个包含分类数据的所有唯一类别的索引对象,该索引对象可以用来查看和操作分类数据中的类别。
804-4、返回值
返回一个Index对象,其中包含分类数据中所有唯一的类别。
804-5、说明
无
804-6、用法
804-6-1、数据准备
无
804-6-2、代码示例
# 804、pandas.Categorical.categories属性
import pandas as pd
# 创建一个分类数据
data = pd.Categorical(["a", "b", "c", "a", "b"])
# 获取分类的所有唯一类别
categories = data.categories
print(categories)
804-6-3、结果输出
# 804、pandas.Categorical.categories属性
# Index(['a', 'b', 'c'], dtype='object')
805、pandas.Categorical.ordered属性
805-1、语法
# 805、pandas.Categorical.ordered属性
property Categorical.ordered
Whether the categories have an ordered relationship.
805-2、参数
无
805-3、功能
用来指示是否将类别视为有序(即有顺序的分类)或无序(即没有顺序的分类)。
- 如果ordered=True,则表示分类具有一定的顺序,例如“低”、“中”、“高”。
- 如果ordered=False,则表示分类之间没有顺序关系,例如“红色”、“蓝色”、“绿色”。
805-4、返回值
创建Categorical对象时,如果将ordered设置为True,则返回的对象将允许进行一些顺序相关的操作,比如比较、排序等,这种情况下,可以使用Categorical的内置方法进行排序和比较。
805-5、说明
无
805-6、用法
805-6-1、数据准备
无
805-6-2、代码示例
# 805、pandas.Categorical.ordered属性
import pandas as pd
# 创建一个无序的分类数据
cat_unordered = pd.Categorical(['apple', 'banana', 'orange'], ordered=False)
print(cat_unordered)
# 创建一个有序的分类数据
cat_ordered = pd.Categorical(['low', 'medium', 'high'], ordered=True)
print(cat_ordered)
# 比较顺序
print(cat_ordered[1] > cat_ordered[0])
print(cat_ordered[0] < cat_ordered[2])
805-6-3、结果输出
# 805、pandas.Categorical.ordered属性
# ['apple', 'banana', 'orange']
# Categories (3, object): ['apple', 'banana', 'orange']
# ['low', 'medium', 'high']
# Categories (3, object): ['high' < 'low' < 'medium']
# True
# False
二、推荐阅读
1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
相关文章:
Python酷库之旅-第三方库Pandas(174)
目录 一、用法精讲 801、pandas.Categorical类 801-1、语法 801-2、参数 801-3、功能 801-4、返回值 801-5、说明 801-6、用法 801-6-1、数据准备 801-6-2、代码示例 801-6-3、结果输出 802、pandas.Categorical.from_codes方法 802-1、语法 802-2、参数 802-3、…...
【Linux网络】基于TCP的全连接队列与文件、套接字、内核之间的关系
W...Y的主页 😊 代码仓库管理💕 前言:之前我们已经学习了TCP传输协议,而无论是TCP还是UDP都是使用socket套接字进行网络传输的,而TCP的socket是比UDP复杂的,当时我们学习TCPsocket编程时使用listen函数进行…...
IDE(集成开发环境)
IDE(集成开发环境)是软件开发过程中不可或缺的工具,它集成了代码编写功能、分析功能、编译器、调试器等开发工具,旨在提高开发效率。不同的IDE支持不同的语言和框架,下面是一些通用的IDE使用技巧和插件推荐,…...
一键导入Excel到阿里云PolarDB-MySQL版
今天,我将分享如何一键导入Excel到阿里云PolarDB-MySQL版数据库。 准备数据 这里,我们准备了一张excel表格如下: 连接到阿里云PolarDB 打开的卢导表,点击新建连接-选择阿里云PolarDB-MySQL版。如果你还没有这个工具,…...
Oracle有哪些版本
目录 Oracle 1(1979年) Oracle 2(1983年) Oracle 7(1992年) Oracle 8i(1999年) Oracle 9i(2001年) Oracle 10g(2004年) Oracle 11g(2007年) Oracle 12c(2013年) Oracle 18c(2018年) Oracle 19c(2019年) Oracle 21c(2023年) Oracle 23ai(202…...
先来先服务(FCFS,First-Come, First-Served)调度算法
有利于CPU繁忙作业的原因 充分利用CPU资源: 当一个CPU繁忙型的作业到达后,它会立即被执行,并且在没有其他作业等待的情况下,可以一直占用CPU直到完成。这使得CPU能够持续地执行作业,最大化利用CPU资源。 减少上下文切换…...
Windows操作系统忘记密码怎么办 这个方法屡试不爽 还不来试一下
Windows操作系统重置密码的操作步骤如下: 本方法适用于Windows Server 2008R2及其之后的操作系统。 第一步:从Windows 2008R2之后的操作系统光盘启动到安装界面,一直下一步到磁盘分区界面,按shiftF10调出cmd命令行界面。 第二步&…...
基于java的山区环境监督管理系统(源码+定制+开发)环境数据可视化、环境数据监测、 环境保护管理 、污染防治监测系统 大数据分析
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...
jQuery Mobile 表单输入
jQuery Mobile 表单输入 引言 在移动设备上,表单输入是用户与移动应用交互的重要方式。jQuery Mobile 是一个基于 jQuery 的移动设备友好的开发框架,它提供了丰富的组件和工具来帮助开发者创建响应式和交互式的移动界面。本文将详细介绍如何使用 jQuery Mobile 来创建和定制…...
IoC详解
共有两类注解类型可以实现: 1. 类注解:Controller、Service、Repository、Component、Configuration. 2. 方法注解:Bean. 类注解 Controller(控制器存储) 使⽤Controller存储bean的代码如下所⽰: Con…...
基于 ThinkPHP+Mysql 灵活用工_灵活用工系统_灵活用工平台
基于 ThinkPHPMysql 灵活用工灵活用工平台灵活用工系统灵活用工小程序灵活用工源码灵活用工系统源码 开发语言 ThinkPHPMysql 源码合作 提供完整源代码 软件界面展示 一、企业管理后台 二、运用管理平台 三、手机端...
etcd之etcd分布式锁及事务(四)
1、etcd分布式锁及事务 1.1 前言 分布式锁是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如 果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要…...
智慧旅游微信小程序平台
作者介绍:✌️大厂全栈码农|毕设实战开发,专注于大学生项目实战开发、讲解和毕业答疑辅导。 🍅获取源码联系方式请查看文末🍅 推荐订阅精彩专栏 👇🏻 避免错过下次更新 Springboot项目精选实战案例 更多项目…...
C++设计模式创建型模式———简单工厂模式、工厂方法模式、抽象工厂模式
文章目录 一、引言二、简单工厂模式三、工厂方法模式三、抽象工厂模式四、总结 一、引言 创建一个类对象的传统方式是使用关键字new , 因为用 new 创建的类对象是一个堆对象,可以实现多态。工厂模式通过把创建对象的代码包装起来,实现创建对…...
C++ 类与对象(中) 默认成员函数
我们知道在类中,有成员变量和成员函数,我们可以通过创造不同的成员函数来实现这个类不同的功能,如果我们创造一个类,却不实现它的成员函数会如何呢?这个就涉及到类中的默认成员函数的概念了。但在本文我们主要介绍以下…...
中间人攻击(https降级攻击)和iptables命令分析
中间人攻击 以下是一个简单的中间人攻击示例,结合 ARP 欺骗和流量修改: 1. 进行 ARP 欺骗 首先,使用 arpspoof 进行 ARP 欺骗,将受害者的流量重定向到攻击者的机器上: sudo arpspoof -i eth0 -t 172.29.144.50 172…...
开源生活-分布式管理
开源竞争(当自己没有办法彻底掌握一门技术的时候就彻底开源掉;培养出更多的依赖,让更多人帮助你完善你的技术,那么这不就是在砸罐子吗?一个行业里面总会有人先砸罐子的,你不如先砸罐子,还能听个…...
华为OD机试真题- 关联子串
该专栏题目包含两部分: 100 分值部分题目 200 分值部分题目 所有题目都会陆续更新,订阅防丢失 题目描述: 给定两个字符串str1和str2,如果字符串str1中的字符,经过排列组合后的字符串中,只要有一个字符串是…...
云智慧完成华为原生鸿蒙系统的适配, 透视宝 APM 为用户体验保驾护航
2024 年 10 月 22 日,首个国产移动操作系统 —— 华为原生鸿蒙操作系统 HarmonyOS NEXT 正式面世,成为继 iOS 和 Android 后的全球第三大移动操作系统。HarmonyOS NEXT,从系统内核、数据库根基,到编程语言创新、AI(人工…...
QT 多语言转换 ts、qm
QT开发之路 企业级开发系列文章,主要目标快速学习、完善、提升 相关技能 高效完成企业级项目开发 分享在企业中积累的实用技能和经验。 通过具体的编码过程、代码示例、步骤详解、核心内容和展示的方法解决遇到的实际问题。 阅读前声明 本系列文章属于付费内容 禁止…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
