【Pandas】pandas Series cat
# Pandas2.2 Series
## Accessors
|方法|描述|
|-|:-------|
|Series.str|对 `Series` 中的字符串元素进行矢量化字符串操作|
|Series.cat|用于处理分类数据(Categorical Data)的属性|
### pandas.Series.cat
`pandas.Series.cat` 是用于处理分类数据(Categorical Data)的属性。分类数据是一种数据类型,它将数据限制在一组有限的可能值(类别)中。`pandas.Series.cat` 提供了一系列方法来操作和管理这些分类数据。
#### 常用方法
以下是一些常用的 `pandas.Series.cat` 方法及其示例:
1. **`categories`**: 获取或设置分类的类别。
2. **`codes`**: 获取或设置分类的编码。
3. **`add_categories()`**: 添加新的类别。
4. **`remove_categories()`**: 移除指定的类别。
5. **`rename_categories()`**: 重命名类别。
6. **`reorder_categories()`**: 重新排序类别。
7. **`set_categories()`**: 设置新的类别。
8. **`as_ordered()` 和 `as_unordered()`**: 设置分类为有序或无序。
9. **`remove_unused_categories()`**: 移除未使用的类别。
#### 示例
假设我们有一个包含分类数据的 `Series`:
```python
import pandas as pd
# 创建一个分类 Series
data = pd.Series(['A', 'B', 'A', 'C', 'B', 'A'], dtype='category')
print(data)
```
输出:
```
0 A
1 B
2 A
3 C
4 B
5 A
dtype: category
Categories (3, object): ['A', 'B', 'C']
```
##### 1. `categories`
```python
# 获取类别
categories = data.cat.categories
print(categories)
```
输出:
```
Index(['A', 'B', 'C'], dtype='object')
```
##### 2. `codes`
```python
# 获取编码
codes = data.cat.codes
print(codes)
```
输出:
```
0 0
1 1
2 0
3 2
4 1
5 0
dtype: int8
```
##### 3. `add_categories()`
```python
# 添加新的类别
data = data.cat.add_categories(['D'])
print(data.cat.categories)
```
输出:
```
Index(['A', 'B', 'C', 'D'], dtype='object')
```
##### 4. `remove_categories()`
```python
# 移除指定的类别
data = data.cat.remove_categories(['D'])
print(data.cat.categories)
```
输出:
```
Index(['A', 'B', 'C'], dtype='object')
```
##### 5. `rename_categories()`
```python
# 重命名类别
data = data.cat.rename_categories(['X', 'Y', 'Z'])
print(data)
```
输出:
```
0 X
1 Y
2 X
3 Z
4 Y
5 X
dtype: category
Categories (3, object): ['Z', 'X', 'Y']
```
##### 6. `reorder_categories()`
```python
# 重新排序类别
data = data.cat.reorder_categories(['Z', 'X', 'Y'])
print(data)
```
输出:
```
0 X
1 Y
2 X
3 Z
4 Y
5 X
dtype: category
Categories (3, object): ['Z', 'X', 'Y']
```
##### 7. `set_categories()`
```python
# 设置新的类别
data = data.cat.set_categories(['A', 'B', 'C'])
print(data)
```
输出:
```
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
dtype: category
Categories (3, object): ['A', 'B', 'C']
```
##### 8. `as_ordered()` 和 `as_unordered()`
```python
# 设置分类为有序
data = data.cat.as_ordered()
print(data)
# 设置分类为无序
data = data.cat.as_unordered()
print(data)
```
输出:
```
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
dtype: category
Categories (3, object): ['A' < 'B' < 'C']
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
dtype: category
Categories (3, object): ['A', 'B', 'C']
```
##### 9. `remove_unused_categories()`
```python
# 移除未使用的类别
data = data.cat.remove_unused_categories()
print(data.cat.categories)
```
输出:
```
Index([], dtype='object')
```
#### 总结
`pandas.Series.cat` 提供了一系列方法来管理和操作分类数据。通过这些方法,你可以轻松地对分类数据进行各种操作,如添加、移除、重命名和重新排序类别。希望这些示例能帮助你更好地理解和使用 `pandas.Series.cat`。
相关文章:
【Pandas】pandas Series cat
# Pandas2.2 Series ## Accessors |方法|描述| |-|:-------| |Series.str|对 Series 中的字符串元素进行矢量化字符串操作| |Series.cat|用于处理分类数据(Categorical Data)的属性| ### pandas.Series.cat pandas.Series.cat 是用于处理分类数据&am…...
Python的类和对象(3)
1、类的继承 父类:被继承 子类:继承者 – 可以使用父类的所有属性和方法、大大简化代码。 语法:在类名字后加上(继承的类名字) # 定义类 -- 父类 class Car:# 定义类属性wheel "有车轮"engine "有引…...
C语言修饰符汇总详解
在C语言中,修饰符(或称类型限定符)是用于修饰数据类型的关键字,可以改变变量或类型的性质和行为。它们通常用来控制存储类型、符号、大小、对齐、访问权限等。C语言中的修饰符主要可以分为以下几类: 类型修饰符存储类别修饰符常量和易变修饰符以下是C语言中所有修饰符的详…...
猎豹移动(Cheetah Mobile)
本文来自腾讯元宝 公司背景与发展历程 成立与早期定位 猎豹移动成立于2010年11月,由金山安全与可牛影像合并而成,初期以移动安全工具和清理软件为核心业务。其明星产品包括《猎豹清理大师》(Clean Master)和《猎豹浏览器》&…...
VLN 论文精读(二)VL-Nav: Real-time Vision-Language Navigation with Spatial Reasoning
这篇笔记用来描述2025年发表在arxiv上的一篇有关VLN领域的论文,由纽约州立大学布法罗分校和卡耐基梅隆联合发布。其主要创新点在于:像素级的视觉-语意特征、低算力移动设备部署、30Hz控制实时性、VLM模型的zero-shot ; 整个导航流程大概如下…...
优选算法系列(2.滑动窗口 _ 上)
目录 解法⼀(暴力求解)(不会超时,可以通过):一.长度最小的子数组(medium) 题目链接209. 长度最小的子数组 - 力扣(LeetCode) 解法: 代码&#…...
RK3568 android11 基于PN7160的NXP NFC移植
一,概述 1. 模块概述 PN7160专为在各种系统实现快速集成而设计,支持所有符合NFC Forum的模式,包括Android和Linux驱动程序,并支持实时操作系统和无操作系统的应用(PN7160不符合EMVCo)。嵌入式NFC固件减少了对主机交互的需求,并最大限度缩小了代码尺寸,使设计更轻松。…...
【网工第6版】第1章 计算机网络概论
目录 1计算机网络形成和发展 ■计算机网络 ■我国互联网发展 ■计算机网路分类 ■计算机网络应用 2 OSI和TCP/IP参考模型 ■网络分层的意义 ■OSI参考模型 ■TCP/IP参考模型 ■TCP/IP参考模型协议 3 数据封装与解封过程 ■封装 ■解封 1计算机网络形成和发展 ■计…...
【嵌入式】keil5安装(同时兼容C51和STM32)
最近在开发STM32的时候,安装Keil5,遇到STM32和C51的共存的问题,在网上找了很多方法,又遇到一些bug,最终还是弄好了。因此将处理的过程记录下来,希望对遇到相同问题的朋友一些启发。 1、下载安装包 Keil P…...
每日一题--进程与协程的区别
进程是什么? 进程(Process) 是操作系统进行 资源分配和调度的基本单位,代表一个正在执行的程序实例。每个进程拥有独立的虚拟地址空间、代码、数据和系统资源(如文件句柄、网络端口等)。进程之间通过 IPC&…...
网络安全运维应急响应与溯源分析实战案例
在日常运维过程中,网络安全事件时有发生,快速响应和精准溯源是保障业务稳定运行的关键。本文将通过一个实际案例,详细解析从发现问题到溯源定位,再到最终解决的完整流程。 目录 一、事件背景 二、事件发现 1. 监控告警触发 2…...
leetcode29. 两数相除-medium
1 题目:两数相除 官方标定难度:中 给你两个整数,被除数 dividend 和除数 divisor。将两数相除,要求 不使用 乘法、除法和取余运算。 整数除法应该向零截断,也就是截去(truncate)其小数部分。…...
深海300米的低温环境中的BMS优化方法
在深海300米的低温环境中,采用扩展卡尔曼滤波(EKF)结合温度补偿模型实现电池管理系统(BMS)的荷电状态(SOC)精确估计,需通过以下步骤实现: 1. 低温电池模型建立 1.1 电池…...
高主频GPU+RTX4090:AI生图性能优化超150%
概述:消费级高主频CPU搭配 RTX 4090显卡可以显著提高AI生图的性能,相比于企业级CPU具有更大的吞吐量和更优的成本效益。 引言:在AI图像生成过程中,CPU与GPU的协同效应对系统的整体性能至关重要。测试表明,与RTX 4090显…...
OpenCV 图像双线性插值
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 双线性插值是一种 二维插值方法,用于计算 栅格(Grid) 或 像素点 之间的插值值。它主要用于 图像缩放、旋转、变换 等操作,以在新像素位置估算灰度值或颜色值。 如上图所示,假设存在一个二维离散函数(如图像)…...
OpenCV计算摄影学(23)艺术化风格化处理函数stylization()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 风格化的目的是生成不以照片写实为目标的多种多样数字图像效果。边缘感知滤波器是风格化处理的理想选择,因为它们能够弱化低对比度区…...
《我的Python觉醒之路》之转型Python(十五)——控制流
[今天是2025年3月17日,继续复习第一章节、第二章节的内容 ] 《我的Python觉醒之路》之转型Python(十四)——控制流...
内存管理
一.什么是内存管理呢? 我们可以来看一下这个图,我们来了解一下这些地方都存的是什么。 数据段就是存放全局和静态变量的,代码段是存放常量的。 栈 局部变量:在函数内部定义的变量,其存储空间在栈上分配。当函数被调用时…...
学习threejs,使用MeshLambertMaterial漫反射材质
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.MeshLambertMaterial…...
P41-指针进阶1、2
1.字符指针 2.数组指针 3.指针数组 4.数组传参和指针传参 5.函数指针 6.函数指针数组 7.指向函数指针数组的指针 8.回调函数 9.指针和数组面试题的解析 指针的主题,我们在初级阶段的《指针》章节已经接触过了,我们知道了指针的概念 1.指针就是个…...
旅游类小程序界面设计
产品概述 艾啦游是一款互联网旅游类小程序,致力于国内精品旅游,以及拥有自由行、专属热榜单、出行攻略等诸多功能,汇聚了许多国内的人气景点,与诸多城市的酒店也保持合作,打造一体式旅行服务,更有不断上新…...
探索具身多模态大模型:开发、数据集和未来方向(下)
25年2月来自广东人工智能和数字经济实验室、深圳大学、巴黎理工学院和巴黎高等师范学院、中山大学的论文“Exploring Embodied Multimodal Large Models: Development, Datasets, and Future Directions”。 近年来,具身多模态大模型 (EMLM) 因其在复杂的现实环境中…...
14 结构体
结构体 结构体是什么? 在前面我们学习过基础的数据类型int float char 等,都只能用来表示基础的数据类型,那么要怎么来表示复杂的数据类型呢? 比如学生信息: 学号姓名性别年龄总分数100maye男18666101椰汁女19555 …...
如何配置 Docker 以实现无需 sudo 使用
1. 背景知识:为什么需要 sudo? Docker 是一个容器化平台,其核心组件包括: Docker 守护进程(dockerd):负责管理容器的创建、运行和销毁。Docker CLI:用户通过命令行工具(…...
嵌入式开发之STM32学习笔记day06
基于STM32F103C8T6的开发实践——从入门到精通01 1. 引言 STM32系列微控制器是STMicroelectronics推出的一款高性能、低功耗的32位微控制器,广泛应用于嵌入式系统中。STM32F103C8T6是其中非常受欢迎的一款,凭借其强大的性能、丰富的外设接口和低廉的价格…...
openocd C#桌面工具
文章目录 简介一、主界面二、文件列表三、rtl介绍四、虚拟示波器1、画线2、画点3、合并显示4、测试代码简介 基于廉价9.9包邮的DAP-Link,在IAR和Keil中下载和调试都没毛病。 可是不能单独使用。单独烧录固件用不了,也不能同jlink一样打印日志和显示波形。 openocd开源工具能…...
goland小问题报错及解决
报错信息: cannot use rw (variable of type *populateResponse) as ResponseWriter value in argument to t.fh.ServeHTTP: *populateResponse does not implement ResponseWriter (missing method Fprintf) cannot use rw (variable of type *http2responseWrite…...
AtCoder Beginner Contest 397 A - D题解
Tasks - OMRON Corporation Programming Contest 2025 (AtCoder Beginner Contest 397) 本文为 AtCoder Beginner Contest 397 A - D题解 题目A: 代码(C): #include <bits/stdc.h>int main() {double n;std::cin >> n;if (n > 38.0) {std::cout << 1;}…...
18年老牌软件,完美解锁pro!
很多小伙伴在学习、工作中都喜欢使用思维导图来整理和记录自己的思路,通过图形化的方式展示复杂概念和关系,使信息更加清晰易懂,有助于理解和记忆;其次,分层次和分类别的信息结构也能够快速理清思路,突出重…...
Power Apps 技术分享:画布应用使用表单控件
前言 表单控件,是画布应用里一个非常好用的控件,我们今天简单介绍下,如何使用这个控件。 正文 1.首先,我们需要有一个数据源,我们这里用上一篇博客新建的数据源,如下图: 2.新建一个页面…...
视频转音频, 音频转文字
Ubuntu 24 环境准备 # 系统级依赖 sudo apt update && sudo apt install -y ffmpeg python3-venv git build-essential python3-dev# Python虚拟环境 python3 -m venv ~/ai_summary source ~/ai_summary/bin/activate核心工具链 工具用途安装命令Whisper语音识别pip …...
ZLMediaKit源码分析——[1] 开篇:onceToken源码分析
系列文章目录 第一篇 基于SRS 的 WebRTC 环境搭建 第二篇 基于SRS 实现RTSP接入与WebRTC播放 第三篇 centos下基于ZLMediaKit 的WebRTC 环境搭建 第四篇 WebRTC学习一:获取音频和视频设备 第五篇 WebRTC学习二:WebRTC音视频数据采集 第六篇 WebRTC学习三:WebRTC音视频约束 …...
EasyRTC嵌入式音视频通话SDK:微信生态支持、轻量化架构与跨平台兼容性(Linix/Windows/ARM/Android/iOS/LiteOS)
随着WebRTC技术的不断发展,实时音视频通信在各个领域的应用越来越广泛。EasyRTC嵌入式音视频通话SDK作为一款基于WebRTC技术的实时通信解决方案,凭借其强大的功能和灵活的集成能力,受到了越来越多开发者的关注。 一、系统架构设计 纯C语言开…...
Python中使用vlc库实现视频播放功能
文章目录 前言1. 环境准备1.1Python安装1.2选择Python开发环境1.3安装必要库 2. 基础播放示例3. 常用播放控制功能4. 事件监听5. 播放网络流媒体6. 结合 GUI 库制作视频播放器(以 Tkinter 为例) 前言 本教程主要包含打开文件、播放和停止按钮࿰…...
Elasticsearch面试题
以下是150道Elasticsearch面试题及其详细回答,涵盖了Elasticsearch的基础知识、配置与优化、查询操作、集群管理、性能调优等多个方面,每道题目都尽量详细且简单易懂: Elasticsearch基础概念类 1. 什么是Elasticsearch? Elastics…...
Linux上位机开发实战(qt编译之谜)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 很多同学都喜欢用IDE,也能理解。因为不管是visual studio qt插件,还是qt creator其实都帮我们做了很多额外的工作。这里面最…...
SpringBoot3+Druid+MybatisPlus多数据源支持,通过@DS注解配置Service/Mapper/Entity使用什么数据源
在 Spring Boot 3 中结合 Druid 和 MyBatis-Plus 实现多数据源支持,并通过 DS 注解动态切换数据源,可以按照以下步骤进行配置: 官方文档:多数据源支持 | MyBatis-Plus 1. 引入依赖 在 pom.xml 中添加以下依赖: <…...
Java学习------内部类
1. 定义 定义在一个类中的类 2. 使用时机 当一个类需要用到另一个类,并且两个类的联系比较密切时就需要使用内部类内部类可以访问外部类的私有成员,这样可以将相关的类和接口隐藏在外部类的内部,提高封装性匿名内部类是没有名字的类&#…...
【QA】建造者模式在Qt有哪些应用
#设计模式 #Qt 一、QDomDocument(XML 文档构建) 模式角色: Builder:QDomDocument 本身Product:XML 文档对象Director:用户代码通过 QDomDocument 逐步构建文档结构 示例代码: QDomDocument…...
uniapp 多环境配置打包,比较优雅的解决方案,全网相对优解
uniapp 多环境配置打包,比较优雅的解决方案,全网相对优解 读取.env.[development|test|staging|production]配置文件进行打包,最终效果如下图可以看到多个环境, 并且我们可以自定义更多的环境配置 前言 由于uniapp的hbuilder开发…...
【量化科普】Liquidity,流动性
【量化科普】Liquidity,流动性 🚀量化软件开通 🚀量化实战教程 在金融市场中,流动性(Liquidity)是一个至关重要的概念。它指的是资产能够以多快的速度被买入或卖出而不显著影响其价格的能力。高流动性的…...
qt介绍图表 charts 一
qt chartsj基于Q的Graphics View框架,其核心组件是QChartView和QChart.QChartView是一个显示图表的独立部件,基类为QGraphicsView.QChar类管理图表的序列,图例和轴示意图。 绘制一个cos和sin曲线图,效果如下 实现代码 #include…...
如何图像去噪?(一)
喜欢可以在我的主页订阅专栏哟,至少更新6年~~,更到我上大学也可能会继续更~~ 第一章 图像去噪的基础知识与核心概念 1.1 图像噪声的数学模型与物理成因 定义扩展: 图像噪声是信号采集、传输或存储过程中引入的随机干扰,其本质为…...
【数据库】Data Model(数据模型)数据模型分析
理解图片中的 Data Model(数据模型)是学习数据库设计和应用程序开发的重要一步。作为初学者,你可以通过比喻和简单的解释来理解这些概念以及它们之间的联系。以下是对图片中数据模型的详细分析,以及如何理解它们之间的关系。 1. 数…...
win10 c++ VsCode 配置PCL open3d并显示
win10 c VsCode配置PCL open3d并显示 一、效果图二、配置步骤2.1 安装vscode2.2 pcl-open3d配置2.3 vscode中设置 三、测试代码四、注意事项及后续 一、效果图 二、配置步骤 2.1 安装vscode vscode下载链接 下载中文插件、c相关插件 2.2 pcl-open3d配置 1)下载…...
Flask多参数模版使用
需要建立目录templates; 把建好的html文件放到templates目录里面; 约定好参数名字,单个名字可以直接使用;多参数使用字典传递; 样例: from flask import render_template # 模板 (Templates) #Flask 使用…...
python中a is None 和 a==None有区别吗
在 Python 中,a is None 和 a None 的区别如下: 1. a is None 这是身份(identity)比较,用于检查 a 是否就是 None 这个对象。None 是 Python 的单例对象,意味着在 Python 运行过程中,所有 No…...
Excel(函数篇):COUNTIF与CONUTIFS函数、SUMIF与SUMIFS函数、ROUND函数、MATCH与INDEX函数、混合引用与条件格式
目录 COUNTIF和COUNTIFS函数COUNTIF函数COUNTIFS函数SUMIF和SUMIFS函数SUMIF函数SUMIFS函数SUMIFS函数与控件实现动态年月汇总ROUND、ROUNDUP、ROUNDDOWN函数单元格混合引用条件格式与公式,标记整行数据MATCH和INDEX函数COUNTIF和COUNTIFS函数 COUNTIF函数 统计下“苏州”出现…...
C语言及内核开发中的回调机制与设计模式分析
在C语言以及操作系统内核开发中,回调机制是一种至关重要的编程模式。它通过注册框架和定义回调函数,实现了模块间的解耦和灵活交互,为系统的扩展性和可维护性提供了有力支持。本文将深入探讨这种机制的工作原理、应用场景以及与设计模式的关联。 一、回调机制的核心概念 (…...
SAP WORKFLOW BUSINESS PROCESS AUTOMATION
SAP WORKFLOW BUSINESS PROCESS AUTOMATION...