Python酷库之旅-第三方库Pandas(021)

目录

一、用法精讲

52、pandas.from_dummies函数

52-1、语法

52-2、参数

52-3、功能

52-4、返回值

52-5、说明

52-6、用法

52-6-1、数据准备

52-6-2、代码示例

52-6-3、结果输出

53、pandas.factorize函数

53-1、语法

53-2、参数

53-3、功能

53-4、返回值

53-5、说明

53-6、用法

53-6-1、数据准备

53-6-2、代码示例

53-6-3、结果输出 

54、pandas.unique函数

54-1、语法

54-2、参数

54-3、功能

54-4、返回值

54-5、说明

54-6、用法

54-6-1、数据准备

54-6-2、代码示例

54-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

52、pandas.from_dummies函数
52-1、语法
# 52、pandas.from_dummies函数
pandas.from_dummies(data, sep=None, default_category=None)
Create a categorical DataFrame from a DataFrame of dummy variables.Inverts the operation performed by get_dummies().New in version 1.5.0.Parameters:
data
DataFrame
Data which contains dummy-coded variables in form of integer columns of 1’s and 0’s.sep
str, default None
Separator used in the column names of the dummy categories they are character indicating the separation of the categorical names from the prefixes. For example, if your column names are ‘prefix_A’ and ‘prefix_B’, you can strip the underscore by specifying sep=’_’.default_category
None, Hashable or dict of Hashables, default None
The default category is the implied category when a value has none of the listed categories specified with a one, i.e. if all dummies in a row are zero. Can be a single value for all variables or a dict directly mapping the default categories to a prefix of a variable.Returns:
DataFrame
Categorical data decoded from the dummy input-data.Raises:
ValueError
When the input DataFrame data contains NA values.When the input DataFrame data contains column names with separators that do not match the separator specified with sep.When a dict passed to default_category does not include an implied category for each prefix.When a value in data has more than one category assigned to it.When default_category=None and a value in data has no category assigned to it.TypeError
When the input data is not of type DataFrame.When the input DataFrame data contains non-dummy data.When the passed sep is of a wrong data type.When the passed default_category is of a wrong data type.
52-2、参数

52-2-1、data(必须)一个DataFrame对象,包含了哑变量(0和1)的列,每列通常表示一个类别的存在或缺失。

52-2-2、sep(可选,默认值为None)用于分隔哑变量列名中类别信息的分隔符。例如,如果列名是A_cat和A_dog,并且用下划线分隔,那么sep应该设置为 _

52-2-3、default_category(可选,默认值为None)在原始数据中,可能有一些类别在哑变量中缺失,这个参数允许指定一个默认类别,以便在缺失的情况下使用。

52-3、功能

        接受一个包含哑变量的DataFrame,并将其转换回表示原始类别的DataFrame,哑变量通常是通过对分类变量进行独热编码(one-hot encoding)生成的。

52-4、返回值

        返回值是一个DataFrame,其中包含了原始的分类数据,这些数据是根据哑变量的值重构的,即每行数据中值为1的哑变量列对应的列名(去掉分隔符和前缀)即为原始分类变量的值。

52-5、说明

        该函数非常有用,特别是在对数据进行独热编码之后希望恢复原始分类变量的情况下,它简化了数据预处理模型结果解释的过程。

52-6、用法
52-6-1、数据准备
52-6-2、代码示例
# 52、pandas.from_dummies函数
import pandas as pd
# 示例哑变量DataFrame
data = pd.DataFrame({'color_red': [1, 0, 0],'color_blue': [0, 1, 0],'color_green': [0, 0, 1]
})
# 使用pandas.from_dummies将哑变量转换回原始分类数据
original_data = pd.from_dummies(data, sep='_')
print(original_data)
52-6-3、结果输出
# 52、pandas.from_dummies函数
#    color
# 0    red
# 1   blue
# 2  green
53、pandas.factorize函数
53-1、语法
# 53、pandas.factorize函数
pandas.factorize(values, sort=False, use_na_sentinel=True, size_hint=None)
Encode the object as an enumerated type or categorical variable.This method is useful for obtaining a numeric representation of an array when all that matters is identifying distinct values. factorize is available as both a top-level function pandas.factorize(), and as a method Series.factorize() and Index.factorize().Parameters:
valuessequence
A 1-D sequence. Sequences that aren’t pandas objects are coerced to ndarrays before factorization.sortbool, default False
Sort uniques and shuffle codes to maintain the relationship.use_na_sentinelbool, default True
If True, the sentinel -1 will be used for NaN values. If False, NaN values will be encoded as non-negative integers and will not drop the NaN from the uniques of the values.New in version 1.5.0.size_hintint, optional
Hint to the hashtable sizer.Returns:
codesndarray
An integer ndarray that’s an indexer into uniques. uniques.take(codes) will have the same values as values.uniquesndarray, Index, or Categorical
The unique valid values. When values is Categorical, uniques is a Categorical. When values is some other pandas object, an Index is returned. Otherwise, a 1-D ndarray is returned.NoteEven if there’s a missing value in values, uniques will not contain an entry for it.
53-2、参数

53-2-1、values(必须)需要编码的数组或序列,可以是列表、NumPy数组、Pandas系列等。

53-2-2、sort(可选,默认值为False)是否对唯一值数组进行排序,如果为True,返回的唯一值数组将按字典顺序排序。

53-2-3、use_na_sentinel(可选,默认值为True)是否在输出整数数组中使用-1作为NaN的标记,如果为False,则将NaN也编码为一个唯一的整数。

53-2-4、size_hint(可选,默认值为None)一个整数提示,用于内部优化,指示预期的唯一值的数量,这可以提高大规模数据的处理性能。

53-3、功能

        将一组值(如列表、数组或序列)编码为整数索引。具体来说,它会为每个唯一值分配一个唯一的整数,并返回这些整数索引以及唯一值的数组。

53-4、返回值

        返回两个对象:

53-4-1、整数索引数组:一个与输入数组大小相同的整数数组,其中每个整数对应于输入数组中的一个值。

53-4-2、唯一值数组:一个包含输入数组中所有唯一值的数组,按它们首次出现的顺序排列,除非使用sort=True参数。

53-5、说明

        pandas.factorize的主要功能是:

53-5-1、将类别数据转换为整数索引:通过为每个唯一值分配一个整数,使得类别数据可以用于数值计算或进一步分析。

53-5-2、处理缺失值:可以选择是否将缺失值(NaN)编码为一个特定的整数(默认为-1)。

53-6、用法
53-6-1、数据准备
53-6-2、代码示例
# 53、pandas.factorize函数
# 53-1、基本用法
import pandas as pd
values = ['a', 'b', 'a', 'c', 'b']
factorized_values, unique_values = pd.factorize(values)
print(factorized_values)
print(unique_values)# 53-2、使用sort参数
import pandas as pd
values = ['a', 'b', 'a', 'c', 'b']
factorized_values, unique_values = pd.factorize(values, sort=True)
print(factorized_values)
print(unique_values)# 53-3、处理NaN
import pandas as pd
values_with_nan = ['a', 'b', None, 'a', 'c']
factorized_values, unique_values = pd.factorize(values_with_nan, use_na_sentinel=True)
print(factorized_values)
print(unique_values)# 53-4、使用size_hint参数
import pandas as pd
large_values = ['a'] * 100000 + ['b'] * 100000
factorized_values, unique_values = pd.factorize(large_values, size_hint=2)
print(factorized_values[:10])
print(unique_values)
53-6-3、结果输出 
# 53、pandas.factorize函数
# 53-1、基本用法
# [0 1 0 2 1]
# ['a' 'b' 'c']# 53-2、使用sort参数
# [0 1 0 2 1]
# ['a' 'b' 'c']# 53-3、处理NaN
# [ 0  1 -1  0  2]
# ['a' 'b' 'c']# 53-4、使用size_hint参数
# [0 0 0 0 0 0 0 0 0 0]
# ['a' 'b']
54、pandas.unique函数
54-1、语法
# 54、pandas.unique函数
pandas.unique(values)
Return unique values based on a hash table.Uniques are returned in order of appearance. This does NOT sort.Significantly faster than numpy.unique for long enough sequences. Includes NA values.Parameters:
values
1d array-like
Returns:
numpy.ndarray or ExtensionArray
The return can be:Index : when the input is an IndexCategorical : when the input is a Categorical dtypendarray : when the input is a Series/ndarrayReturn numpy.ndarray or ExtensionArray.
54-2、参数

54-2-1、values(必须):可以是以下几种类型的对象:

  • 一维的pandas.Series
  • 一维的pandas.Index
  • 一维的numpy.ndarray
  • 一维的列表或序列
54-3、功能

        返回输入数组中的唯一值,按它们在数组中首次出现的顺序排列。

54-4、返回值

        返回一个numpy.ndarray,其中包含输入数组中的唯一值。

54-5、说明

        pandas.unique是一个简单且高效的函数,用于从一维数组、Series或Index中提取唯一值,它只需要一个参数,即要处理的数组,并返回一个包含唯一值的numpy.ndarray,这种功能在数据预处理清理阶段非常有用,可以帮助识别数据集中的独特元素。

54-6、用法
54-6-1、数据准备
54-6-2、代码示例
# 54、pandas.unique函数
# 54-1、处理列表
import pandas as pd
values = [1, 2, 2, 3, 4, 4, 4, 5]
unique_values = pd.unique(values)
print(unique_values)# 54-2、处理pandas Series
import pandas as pd
series = pd.Series(['a', 'b', 'a', 'c', 'b', 'd'])
unique_values = pd.unique(series)
print(unique_values)# 54-3、处理numpy数组
import pandas as pd
import numpy as np
array = np.array([1, 2, 3, 1, 2, 3, 4])
unique_values = pd.unique(array)
print(unique_values)# 54-4、处理含有NaN的数据
import pandas as pd
values_with_nan = [1, 2, np.nan, 2, np.nan, 3]
unique_values = pd.unique(values_with_nan)
print(unique_values)
54-6-3、结果输出
# 54、pandas.unique函数
# 54-1、处理列表
# [1 2 3 4 5]# 54-2、处理pandas Series
# ['a' 'b' 'c' 'd']# 54-3、处理numpy数组
# [1 2 3 4]# 54-4、处理含有NaN的数据
# [ 1.  2. nan  3.]

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

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

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

相关文章

Python爬虫教程第一篇

一、爬虫基础概念 1. 什么是爬虫 爬虫(Spider,又称网络爬虫),是指向网站/网络发起请求,获取资源后分析并提取有用数据的程序。从技术层面来说,爬虫通过程序模拟浏览器请求站点的行为,把站点返…

C++11 设计模式8 责任链/职责链模式 ,(ChainofResponsibility)

在学些ffmpeg 的时候,发现,在ffmpeg 做 过滤器的时候,用到了责任链模式,因此学习并记录一下。 我们知道ffmpeg 的 过滤器提供了很强大的功能。例如,视频缩放,声音混编,九宫格,添加文…

经典卷积网络

放假回家了,感觉快坚持不下去了,目前还没有找到关于无监督学习实现分类的课程,普通数据当然肯定不会给你实现分类的啊 给些建议吧。 LeNet 通过共享卷积核,减少网络参数。 一般只统计卷积计算层和全连接计算层,其余操…

【redis操作语句】

1.数据库操作 redis默认有16个数据库,编号为0~15,且默认访问0号数据库 获取当前键值对数量:先set创建一个键值对,再用dbsize获取,flushdb清空再获取。 127.0.0.1:6379> set k1 v1 OK 127.0.0.1:6379> dbsize (integer) 1 127.0.0.1:…

期货量化交易客户端开源教学第三节——键盘通信协议

一、协议约定: 使用串口通信,波特率57600,一个起始位,一个停止位,一个校验位,8位数据,奇校验;约定键盘到电脑的数据为上行数据,电脑到键盘的数据为下行数据;数据格式为十六进制,高字节在前;协议格式2.1 键值帧(上行)无需应答 名称 长度 说明 帧头 1 键按下 # (0x…

安卓onNewIntent 什么时候执行

一.详细介绍 onNewIntent 方法 onNewIntent 是 Android 中 Activity 生命周期的一部分。它在特定情况下被调用,主要用于处理新的 Intent,而不是创建新的 Activity 实例。详细介绍如下: 使用场景 singleTop 启动模式: 如果一个 Ac…

A66 STM32_HAL库函数 之 USART通用驱动 -- B -- 所有函数的介绍及使用

A66 STM32_HAL库函数 之 USART通用驱动 -- B -- 所有函数的介绍及使用 1 该驱动函数预览1.15 HAL_USART_DMAResume1.16 HAL_USART_DMAStop1.17 HAL_USART_Abort1.18 HAL_USART_Abort_IT1.19 HAL_USART_IRQHandler1.20 HAL_USART_TxCpltCallback1.21 HAL_USART_TxHalfCpltCallba…

pid内容索引

Arduino PID整定 Arduino PID库简介 巡线机器人 - PID控制 掌握 PID 调节: 综合指南 PID控制器解释及整定 PID算法解析及程序代码_pid程序 1. PID 控制 2. 通过经典方法进行 PID 调谐_齐格勒尼科尔斯方法 关于PID知识整理 PID循迹机器人及整定 关于pid收藏…

老板也有生命周期

老板也有生命周期 产品生命周期,企业生命周期,老板也有生命周期 市场淘汰的不是公司,而是对管理认知不足,不能与时俱进和经营不善的老板。 市场每个周期都会淘汰一定数量的老板,老板也很难意识到是自己的问题,既然意识不到自己的问题,也就难以作出反应和应对之策,不…

pytorch学习--使用m1 进行训练

import torch #判断是否存在 gpu torch.backends.mps.is_available()Trueif torch.backends.mps.is_available():mps_device torch.device("mps")x torch.ones(1, devicemps_device)print (x) else:print ("MPS device not found.")tensor([1.], devicem…

UML建模案例分析-需求对类图的影响很大

概要 类图描述系统中类的静态结构。 概念是概念,但类图受需求的影响是非常大的,可以说类图是建模的源头。尽管用例图是源头,但对类图的作用有限。 例子 进销存系统里,产品类中,至少要包括如下属性:名称…

现代动力系统理论导论 第一卷+第二卷 Anatole Katok 金成桴

第0章 引言 0.1. 动力学主要分支 0.2. 流,向量场,微分方程 0.3. 时间1映射,截面,扭扩 0.4. 线性化与局部化 第1部分 例子与基本概念 …

使用Python的qrcode库生成二维码 —— 从入门到实践

引言 在数字时代,二维码已成为我们日常生活中不可或缺的一部分,无论是在支付、广告、产品追踪还是信息共享中,二维码的应用无处不在。Python中的qrcode库提供了一个简单而强大的工具,帮助开发者轻松创建二维码。本文将详细介绍如…

html dialog不显示边框

html dialog不显示边框 在HTML中, 元素默认情况下会显示一个边框。如果你想要一个不显示边框的对话框,你可以通过CSS来隐藏边框。 以下是一个简单的例子,演示如何使用CSS来隐藏 元素的边框: HTML: 这是一个不显示边框的对话框。…

宕机/脱机

目录 概念 区别 概念 宕机和脱机是两个不同的概念 宕机:一般指计算机系统或网络突然停止正常运行,无法继续提供服务。宕机可能是由硬件故障、软件问题、电源中断等原因导致的系统失效。 脱机:通常指设备与网络断开连接或无法直接访问在线资源。例如,…

Ubuntu使用K3S一分钟快速搭建K8S集群

快速入门指南 | Rancher文档 准备3台服务器 Master节点安装脚本# K3s 提供了一个安装脚本,可以方便的在 systemd 或 openrc 的系统上将其作为服务安装。这个脚本可以在 https://get.k3s.io 获得。要使用这种方法安装 K3s,只需运行以下命令: curl -sfL https://rancher-mi…

Android Spinner

1. Spinner Spinner是下拉列表,如图3-14所示,通常用于为用户提供选择输入。Spinner有一个重要的属性:spinnerMode,它有2种情况: 属性值为dropdown时,表示Spinner的数据下拉展示,如图1&#xf…

反应式编程:原理功能介绍及实践

简介 反应式编程(Reactive Programming)是一种面向数据流和变化传播的编程范式。它强调异步数据流的处理,通过声明性地定义依赖关系,使得系统能够自动响应数据的变化。 功能 异步处理:反应式编程天然支持异步操作&am…

机器学习和人工智能对金融行业的影响——案例分析

作者主页: 知孤云出岫 目录 引言机器学习和人工智能在金融行业的应用1. 风险管理信用评分风险预测 2. 交易高频交易量化交易 3. 客户服务聊天机器人个性化推荐 4. 反欺诈检测 机器学习和人工智能带来的变革1. 提高效率2. 降低成本3. 提升客户体验 未来发展趋势1. 更智能的风控系…

【中台】数字中台建设方案(PPT)

数字中台建设要点: 数据采集与整合: 打破企业内部各个业务系统的数据隔阂,通过数据采集和数据交换实现数据的集中管理,形成统一的数据中心,为后续数据价值的挖掘提供基础。 利用自研或第三方ETL(Extract, T…