python astype category_利用Python进行数据分析(11)-高阶应用category

本文中介绍的是pandas的高阶应用-分类数据category​

image

分裂数据Categorical

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

使用背景和目标

一个列中经常会包含重复值,这些重复值是一个小型的不同值的集合。

unique()和value_counts()能够从数组中提取到不同的值并分别计算它们的频率

values = pd.Series([“apple”,”orange”,”apple”,”apple”] * 2)

values

0 apple

1 orange

2 apple

3 apple

4 apple

5 orange

6 apple

7 apple

dtype: object

pd.unique(values) # 查看不同的取值情况

array([‘apple’, ‘orange’], dtype=object)

pd.value_counts(values) # 查看每个值的个数

apple 6

orange 2

dtype: int64

维度表

维度表包含了不同的值,将主要观测值存储为引用维度表的整数键

values = pd.Series([0,1,0,0] * 2)

dim = pd.Series([“apple”,”orange”])

values

0 0

1 1

2 0

3 0

4 0

5 1

6 0

7 0

dtype: int64

dim

0 apple

1 orange

dtype: object

take方法-分类(字典编码展现)

不同值的数组被称之为数据的类别、字典或者层级

dim.take(values)

0 apple

1 orange

0 apple

0 apple

0 apple

1 orange

0 apple

0 apple

dtype: object

使用Categorical类型

fruits = [“apple”,”orange”,”apple”,”apple”] * 2

N = len(fruits)

df = pd.DataFrame({“fruit”:fruits, # 指定每列的取值内容

“basket_id”:np.arange(N),

“count”:np.random.randint(3,15,size=N),

“weight”:np.random.uniform(0,4,size=N)},

columns=[“basket_id”,”fruit”,”count”,”weight”]) # 4个属性值

df

image.png

df[“fruit”]

0 apple

1 orange

2 apple

3 apple

4 apple

5 orange

6 apple

7 apple

Name: fruit, dtype: object

如何生成Categorical实例

fruit_cat = df[“fruit”].astype(“category”) # 调用函数改变

fruit_cat # 变成pd.Categorical的实例

0 apple

1 orange

2 apple

3 apple

4 apple

5 orange

6 apple

7 apple

Name: fruit, dtype: category

Categories (2, object): [apple, orange]

c = fruit_cat.values

c

[apple, orange, apple, apple, apple, orange, apple, apple]

Categories (2, object): [apple, orange]

两个属性:categories + codes

print(c.categories)

print(“—–“)

print(c.codes)

Index([‘apple’, ‘orange’], dtype=’object’)

Original: https://blog.csdn.net/weixin_35899510/article/details/112905821
Author: BLACK枪骑兵
Title: python astype category_利用Python进行数据分析(11)-高阶应用category

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/740959/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 基于FPGA的数字钟设计实验报告

    一.引言 E D A技术在当今社会为现代电子设计领域提供了可能性,这也是E D A 技术飞速发展的理由。现如今,E D A技术不再是某一门课程的分支,也不是某种新的技术,而是一门综…

    Python 2023年11月7日
    076
  • 如何将多张图片合成mp4视频格式,并加入背景音乐…

    【阅读全文】 实现的思路:将准备好的图片通过opencv读取出来,并将其设置好帧数等参数后合成为无声视频。最后通过moviepy编辑视频将背景音乐加入到视频中。 在开始之前,您仍然…

    Python 2023年5月24日
    0153
  • pandas的基础使用

    快速导入包: 对象创建 Series通过传递值列表来创建 ,让 pandas 创建一个默认整数索引: s = pd.Series([1, 3, 5, np.nan, 6, 8]) …

    Python 2023年8月25日
    048
  • Pytest+Allure+Jenkins自动化测例架构介绍

    自动化测例架构介绍 1. 概述 1.1 项目介绍 该项目使用python语言实现,基于pytest测试框架且集成allure和jenkins,用于GreatDB-Cluster做回…

    Python 2023年9月10日
    073
  • Python测试框架pytest(26)测试报告Allure – 特性

    目录 1、Environment 1.1、添加Environment 1.2、解决配置文件被删的问题 2、Categories 3、allure.step() 3.1、@allur…

    Python 2023年9月10日
    048
  • 第一次写项目接口

    前言 第一次参与实习工作,S小白中完成的第一项项目任务,简要整理一下: 一、任务需求 任务目标:实现算法与后端联调,配置接口。md文档展示接口需求:接口解释为:后端传入数据给模型,…

    Python 2023年8月11日
    064
  • 对抗攻击与防御入门

    目录 一、深度学习简介 二、对抗攻击与防御算法介绍 三、对抗样本应用以及工具箱简介 四、对抗攻击算法的衡量标准 一、深度学习简介 深度学习(DL,Deep Learning)是机器…

    Python 2023年10月26日
    047
  • python中pandas有误_python-在 pandas dataframe 中添加列时出现NaT错误

    有一个问题,在Series和DataFrame中有不同的索引,因此数据不对齐并获得NaN: 一种可能的解决方案是将aDates的值通过values转换为numpy数组: dfAll…

    Python 2023年8月6日
    066
  • SQL Archery 代码说明及优化(一)

    1.字段加密–django-mirage-field 一个django模型字段,在保存到数据库时对数据进行加密,在从数据库获取数据时进行解密。它使数据库中的数据始终加密…

    Python 2023年5月23日
    0118
  • es6 日期字符串转日期_day12-pandas案例应用(日期时间拆分)

    一、将一个大文件按工作组中成员数量拆分为小文件,并以小组人名作为文件名 知识点: 向上取整,np.ceil()函数 ; 数据切片 df.iloc[],后边是方括号,行与列只能是数字…

    Python 2023年8月22日
    045
  • flutter系列之:把box布局用出花来

    简介 LimitedBox SizedBox FittedBox 总结 简介 flutter中的layout有很多,基本上看layout的名字就知道这个layout到底是做什么用的…

    Python 2023年10月19日
    043
  • 几款好用的免费内网穿透

    【ngrok】 1、进入官网(ngrok),下载适合你电脑系统的软件并安装。 2、我这里以Linux (ARM64)例,首先使用wget命令下载。 wget https://bin…

    Python 2023年8月14日
    063
  • Python爬虫爬取数据

    我是Python小白,我会用比较通俗易懂的方法告诉你如何去爬取数据。 一开始,我们需要pycharm(也就是我们编代码的工具),其次我们需要打开我们需要爬取数据的网页,我以鞋子为例…

    Python 2023年8月2日
    057
  • 为什么计算机中的负数要用补码表示?

    本文已收录到AndroidFamily ,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 在前面的文章里,我们聊到了计算机的冯·诺依曼架构的 3 个基本…

    Python 2023年10月13日
    046
  • Python介绍

    Python 是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了脚本语言和解释语言的易用性。 Python被设计成是 “符合大脑思维习惯&#…

    Python 2023年5月24日
    091
  • pygame编写小游戏(飞机大战)—-.py文件转换成.exe应用程序中遇到的问题

    需求:将.py文件转换成.exe应用程序 应用包:pyinstaller pyinstaller简介: PyInstaller是一个跨平台的Python应用打包工具,能够把 Pyt…

    Python 2023年9月18日
    049
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球