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

news2024/11/23 3:50:28

目录

一、用法精讲

101、pandas.Series.__array__魔法方法

101-1、语法

101-2、参数

101-3、功能

101-4、返回值

101-5、说明

101-6、用法

101-6-1、数据准备

101-6-2、代码示例

101-6-3、结果输出

102、pandas.Series.get方法

102-1、语法

102-2、参数

102-3、功能

102-4、返回值

102-5、说明

102-6、用法

102-6-1、数据准备

102-6-2、代码示例

102-6-3、结果输出

103、pandas.Series.at方法

103-1、语法

103-2、参数

103-3、功能

103-4、返回值

103-5、说明

103-6、用法

103-6-1、数据准备

103-6-2、代码示例

103-6-3、结果输出

104、pandas.Series.iat方法

104-1、语法

104-2、参数

104-3、功能

104-4、返回值

104-5、说明

104-6、用法

104-6-1、数据准备

104-6-2、代码示例

104-6-3、结果输出

105、pandas.Series.loc方法

105-1、语法

105-2、参数

105-3、功能

105-4、返回值

105-5、说明

105-6、用法

105-6-1、数据准备

105-6-2、代码示例

105-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

101、pandas.Series.__array__魔法方法
101-1、语法
# 101、pandas.Series.__array__魔法方法
pandas.Series.__array__(dtype=None, copy=None)
Return the values as a NumPy array.

Users should not call this directly. Rather, it is invoked by numpy.array() and numpy.asarray().

Parameters:
dtype
str or numpy.dtype, optional
The dtype to use for the resulting NumPy array. By default, the dtype is inferred from the data.

copy
bool or None, optional
Unused.

Returns:
numpy.ndarray
The values in the series converted to a numpy.ndarray with the specified dtype.
101-2、参数

101-2-1、dtype(可选,默认值为None)指定返回数组的数据类型,如果不提供,返回的数组将使用Series中数据的原始数据类型。

101-2-2、copy(可选,默认值为None)指定是否返回数组的副本,虽然在__array__方法中通常不会使用该参数,实际行为仍然可能依赖于实现和数据的具体情况。

101-3、功能

        用于将Series对象转换为NumPy数组。

101-4、返回值

        返回一个NumPy数组,其中包含Series对象中的所有数据元素。

101-5、说明

        虽然__array__方法可以用来将Series对象转换为NumPy数组,to_numpy()方法更为常用且功能更为完善。

101-6、用法
101-6-1、数据准备
101-6-2、代码示例
# 101、pandas.Series.__array__魔法方法
import pandas as pd
# 创建一个pandas Series对象
data = pd.Series([1, 2, 3, 4, 5])
# 使用 __array__ 方法将 Series 转换为 NumPy 数组
data_array = data.__array__()
# 输出结果
print("使用__array__方法转换后的NumPy数组:")
print(data_array)
# 如果需要指定数据类型
data_array_float = data.__array__(dtype='float64')
# 输出指定数据类型后的结果
print("\n指定数据类型(float64)后的NumPy数组:")
print(data_array_float)
101-6-3、结果输出
# 101、pandas.Series.__array__魔法方法
# 使用__array__方法转换后的NumPy数组:
# [1 2 3 4 5]
#
# 指定数据类型(float64)后的NumPy数组:
# [1. 2. 3. 4. 5.]
102、pandas.Series.get方法
102-1、语法
# 102、pandas.Series.get方法
pandas.Series.get(key, default=None)
Get item from object for given key (ex: DataFrame column).

Returns default value if not found.

Parameters:
key
object
Returns:
same type as items contained in object
102-2、参数

102-2-1、key(必须)指定要获取的索引标签,如果key是一个列表,则会返回这些标签对应的值组成的Series对象;如果key是一个单独的标签,返回该标签对应的单一值。

102-2-2、default(可选,默认值为None)如果指定的key不存在于Series中,则返回的默认值;如果未提供该参数,Series.get方法在key不存在时将返回None。

102-3、功能

        用于从Series对象中获取指定索引位置的值,如果指定的索引不存在,该方法允许你设置一个默认值来代替引发KeyError的异常。

102-4、返回值

102-4-1、如果key是单个标签,返回对应的值或default值/None

102-4-2、如果key是标签列表,返回一个新的Series,其中包含标签对应的值和default值/None

102-5、说明

        无

102-6、用法
102-6-1、数据准备
102-6-2、代码示例
# 102、pandas.Series.get方法
import pandas as pd
# 创建一个pandas Series对象
data = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
# 使用 get 方法获取存在的索引
value_a = data.get('a')
print("索引'a'的值:", value_a)
# 使用 get 方法获取不存在的索引,提供默认值
value_d = data.get('d', default='默认值')
print("索引'd'的值:", value_d)
# 使用 get 方法获取不存在的索引,不提供默认值
value_e = data.get('e')
print("索引'e'的值:", value_e)
102-6-3、结果输出
# 102、pandas.Series.get方法
# 索引'a'的值: 10
# 索引'd'的值: 默认值
# 索引'e'的值: None
103、pandas.Series.at方法
103-1、语法
# 103、pandas.Series.at方法
pandas.Series.at
Access a single value for a row/column label pair.

Similar to loc, in that both provide label-based lookups. Use at if you only need to get or set a single value in a DataFrame or Series.

Raises:
KeyError
If getting a value and ‘label’ does not exist in a DataFrame or Series.

ValueError
If row/column label pair is not a tuple or if any label from the pair is not a scalar for DataFrame. If label is list-like (excluding NamedTuple) for Series.
103-2、参数

        无

103-3、功能

        用于快速访问Series中单个元素的方法。

103-4、返回值

        返回值是Series中指定标签的单个元素的值。当你使用Series.at[label]时,它会返回对应标签的值,类型与Series中元素的类型一致;如果你使用Series.at[label]=value来设置值,它会返回None,因为它是一个就地修改操作,不返回新的Series。

103-5、说明

103-5-1、效率:at方法专门用于访问或设置单个元素,效率高于loc,如果你只需要访问或修改单个元素,at是更优的选择。

103-5-2、标签检查:at不会提供默认值,如果你尝试访问一个不存在的标签,将引发KeyError异常。

103-6、用法
103-6-1、数据准备
103-6-2、代码示例
# 103、pandas.Series.at方法
# 103-1、单个标签
import pandas as pd
data = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
# 获取标签'a'对应的值
value = data.at['a']
print(value, end='\n\n')
# 103-2、单个标签赋值
import pandas as pd
data = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
# 设置标签'b'对应的值
data.at['b'] = 25
print(data)
103-6-3、结果输出
# 103、pandas.Series.at方法
# 103-1、单个标签
# 10

# 103-2、单个标签赋值
# a    10
# b    25
# c    30
# dtype: int64
104、pandas.Series.iat方法
104-1、语法
# 104、pandas.Series.iat方法
pandas.Series.iat
Access a single value for a row/column pair by integer position.

Similar to iloc, in that both provide integer-based lookups. Use iat if you only need to get or set a single value in a DataFrame or Series.

Raises:
IndexError
When integer position is out of bounds.
104-2、参数

        无

104-3、功能

        用于基于整数位置来访问或修改Series元素的方法,它与Series.at方法不同,后者是基于标签进行操作的,而iat是基于位置的。

104-4、返回值

104-4-1、Series.iat[index]返回指定整数位置的单个元素的值。

104-4-2、Series.iat[index]=value修改指定整数位置的值,并且不会返回新的Series,而是在原地修改。

104-5、说明

104-5-1、iat只能用于整数位置索引,不支持标签。

104-5-2、访问或修改的索引位置超出Series长度会引发IndexError。

104-6、用法
104-6-1、数据准备
104-6-2、代码示例
# 104、pandas.Series.iat方法
# 104-1、读取单个值
import pandas as pd
data = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
value = data.iat[1]
print(value)

# 104-2、设置单个值
import pandas as pd
data = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
data.iat[1] = 25
print(data.iat[1])
104-6-3、结果输出
# 104、pandas.Series.iat方法
# 104-1、读取单个值
# 20

# 104-2、设置单个值
# 25
105、pandas.Series.loc方法
105-1、语法
# 105、pandas.Series.loc方法
pandas.Series.loc
Access a group of rows and columns by label(s) or a boolean array.

.loc[] is primarily label based, but may also be used with a boolean array.

Allowed inputs are:

A single label, e.g. 5 or 'a', (note that 5 is interpreted as a label of the index, and never as an integer position along the index).

A list or array of labels, e.g. ['a', 'b', 'c'].

A slice object with labels, e.g. 'a':'f'.

Warning

Note that contrary to usual python slices, both the start and the stop are included

A boolean array of the same length as the axis being sliced, e.g. [True, False, True].

An alignable boolean Series. The index of the key will be aligned before masking.

An alignable Index. The Index of the returned selection will be the input.

A callable function with one argument (the calling Series or DataFrame) and that returns valid output for indexing (one of the above)

See more at Selection by Label.

Raises:
KeyError
If any items are not found.

IndexingError
If an indexed key is passed and its index is unalignable to the frame index.
105-2、参数

        无

105-3、功能

        用于基于标签访问和操作Series元素的方法。它与Series.iat不同,后者是基于位置的,loc方法允许你通过标签来选择和操作数据,非常适合需要通过索引标签来访问数据的场景。

105-4、返回值

105-4-1、单个标签:返回标量值。

105-4-2、多个标签:返回Series。

105-4-3、标签切片:返回Series。

105-4-4、布尔索引:返回Series。

105-5、说明

        Series.loc的用法

105-5-1访问单个值:Series.loc[label]返回与标签label相关的Series中的值。

105-5-2、访问多个值:Series.loc[label1,label2]返回与多个标签相关的Series中的值。

105-5-3、切片:Series.loc[start_label:end_label]返回从start_label到end_label范围内的Series数据。

105-5-4、布尔索引: Series.loc[boolean_mask]返回符合布尔条件的Series中的值。

105-6、用法
105-6-1、数据准备
105-6-2、代码示例
# 105、pandas.Series.loc方法
# 105-1、单个标签
import pandas as pd
data = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
value = data.loc['b']
print(type(value))

# 105-2、多个标签
import pandas as pd
data = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
values = data.loc[['a', 'c']]
print(type(values))

# 105-3、标签切片
import pandas as pd
data = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
sliced_data = data.loc['a':'b']
print(type(sliced_data))

# 105-4、布尔索引
import pandas as pd
data = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
boolean_mask = data > 15
filtered_data = data.loc[boolean_mask]
print(type(filtered_data))
105-6-3、结果输出
# 105、pandas.Series.loc方法
# 105-1、单个标签
# <class 'numpy.int64'>

# 105-2、多个标签
# <class 'pandas.core.series.Series'>

# 105-3、标签切片
# <class 'pandas.core.series.Series'>

# 105-4、布尔索引
# <class 'pandas.core.series.Series'>

二、推荐阅读

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

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

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

相关文章

ETL数据同步之DataX,附赠一套DataX通用模板

今天跟大家分享数据同步datax的模板&#xff0c;小伙伴们简单直接借鉴使用。 还记得上一篇关于大数据DS调度工具的分享嘛&#xff1f; 主流大数据调度工具DolphinScheduler之数据ETL流程-CSDN博客 里面的核心就是采用了DATAX的数据同步原理。 一&#xff0c;什么是DataX D…

linux远程主机和windows互传

一.winscp 最简单&#xff0c;但有时候会出现连不上 二 .MobaXterm 可以选择多种连接方式 二. 配置samba服务器 1. 新增samba用户 sudo pdbedit -L -v 查看当前samba用户 sudo smbpasswd -a guoziyi 添加samba用户 sudo smbpasswd -x guoziyi 删除samba用户 2. 编辑/etc…

LabVIEW多串口通信

随着现代工业控制对数据采集和处理效率的要求不断提升&#xff0c;传统的单串口通信已无法满足多通道数据传输与大规模数据存取的需求。开发一种基于LabVIEW的多串口通信及数据存储系统&#xff0c;以提升数据处理速度和存储效率&#xff0c;保障生产线的稳定运行显得尤为重要。…

常见排序算法总结

文章目录 比较排序冒泡排序选择排序插入排序归并排序快速排序堆排序希尔排序 非比较排序&#xff08;桶排序&#xff09;计数排序基数排序 比较排序 冒泡排序 嵌套循环&#xff0c;每次内层循环执行时&#xff0c;数组的每两个元素交换&#xff0c;将一个最大/小的数排到数组…

语音合成-TTS文字转语音(专业版)

语音合成-TTS文字转语音(专业版) 一、工具简介 *使用强大的智能AI语音库&#xff0c;合成独具特色接近真人语音的朗读音频。 *使用极具表现力和类似人类的声音&#xff0c;使文本阅读器和已启用语音的助理等方案栩栩如生。 *用途&#xff1a;这个语音工具&#xff0c;不仅可…

「实战应用」如何用DHTMLX将上下文菜单集成到JavaScript甘特图中(三)

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的所有需求&#xff0c;是最完善的甘特图图表库。 DHTMLX Gantt是一个高度可定制的工具&#xff0c;可以与项目管理应用程序所需的其他功能相补充。在本文中您将学习如何使用自定义上…

LeetCode岛屿的最大面积(深度搜索)/什么是深搜,简单案例回顾图用邻接表实现图的深度优先遍历。

看这道题不懂深度搜索的可以看看下面讲述 岛屿的最大面积 解题思路 代码 class Solution {int dfs(vector<vector<int>>& grid, int cur_i, int cur_j) {//确定边界if((cur_i >0 && cur_i < grid.size()) && (cur_j >0 &&…

【C语言】 作业11 链表+实现函数封装

递归实现链表数据互换&#xff0c;纯不会&#xff0c;明天再说 1、链表实现以下功能 链表&#xff0c;创建链表&#xff0c;申请节点&#xff0c;判空&#xff0c;头插&#xff0c;遍历输出&#xff0c;通过位置查找节点&#xff0c;任意位置插入&#xff0c;头删&#xff0c;…

技术成神之路:设计模式(八)责任链模式

介绍 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为设计模式&#xff0c;它允许多个对象依次处理请求&#xff0c;避免请求的发送者和接收者之间的显式耦合。该模式通过将多个可能处理请求的对象连接成一条链&#xff0c;并沿着这条链传递请求…

通过角点进行水果的果梗检测一种新方法

一、前言 在前面的《数字图像处理与机器视觉》案例一&#xff08;库尔勒香梨果梗提取和测量&#xff09;中主要使用数学形态学的方法进行果梗提取&#xff0c;下面给出一种提取果梗的新思路。 众所周知&#xff0c;一般果梗和果实在边缘处角度有较大突变&#xff0c;可以通过合…

Kafka介绍及Go操作kafka详解

文章目录 Kafka介绍及Go操作kafka详解项目背景解决方案面临的问题业界方案ELKELK方案的问题日志收集系统架构设计架构设计组件介绍将学到的技能消息队列的通信模型点对点模式 queue发布/订阅 topicKafka介绍Kafka的架构图工作流程选择partition的原则ACK应答机制Topic和数据日志…

亚信安全终端一体化解决方案入选应用创新典型案例

近日&#xff0c;由工业和信息化部信息中心主办的2024信息技术应用创新发展大会暨解决方案应用推广大会成功落幕&#xff0c;会上集中发布了一系列技术水平先进、应用效果突出、产业带动性强的信息技术创新工作成果。其中&#xff0c;亚信安全“终端一体化安全运营解决方案”在…

Jolt路线图

1. 引言 a16z crypto团队2024年7月更新了其Jolt路线图&#xff1a; 主要分为3大维度&#xff1a; 1&#xff09;链上验证维度&#xff1a; 1.1&#xff09;Zeromorph&#xff1a;见Aztec Labs团队2023年论文 Zeromorph: Zero-Knowledge Multilinear-Evaluation Proofs from…

iOS——编译链接

编译连接的过程 预处理编译汇编链接 预处理 clang -E main.m -o main.i“#define"删除并展开对应宏定义。处理所有的条件预编译指令。如#if/#ifdef/#else/#endif。”#include/#import"包含的文件递归插入到此处。删除所有的注释"//或/**/"。添加行号和文…

python—爬虫的初步了解

Python 爬虫&#xff08;Web Scraping&#xff09;是一种自动化从网站上提取数据的技术。Python 由于其简洁的语法、丰富的库和强大的社区支持&#xff0c;成为了实现网络爬虫的首选语言之一。下面是一些Python爬虫的基本概念和步骤&#xff1a; 1. 爬虫的基本概念 请求&…

JavaEE:Spring Web简单小项目实践三(留言板实现)

学习目的&#xff1a; 1、理解前后端交互过程 2、学习接口传参&#xff0c;数据返回以及页面展示 目录 1、准备工作 2、约定前后端交互接口 1、获取全部留言 2、发表新留言 3、实现服务器端代码 4、调整前端页面代码 5、运行测试 1、准备工作 创建SpringBoot项目&#x…

WebRTC音视频-环境搭建

目录 期望效果 1:虚拟机和系统安装 2:WebRTC客户端环境搭建 2.1&#xff1a;VScode安装 2.2&#xff1a;MobaXterm安装 3:WebRTC服务器环境搭建 3.1&#xff1a;安装openssh服务器 3.2&#xff1a;安装Node.js 3.3&#xff1a;coturn穿透和转发服务器 3.3.1&a…

构建高效Node.js中间层:探索请求合并转发的艺术

&#x1f389; 博客主页&#xff1a;【剑九 六千里-CSDN博客】 &#x1f3a8; 上一篇文章&#xff1a;【CSS盒模型&#xff1a;掌握网页布局的核心】 &#x1f3a0; 系列专栏&#xff1a;【面试题-八股系列】 &#x1f496; 感谢大家点赞&#x1f44d;收藏⭐评论✍ 引言&#x…

阿里云 https证书部署

一.申请证书 二.查看状态 查看状态&#xff0c;已签发是完成了申请证书 三.部署 我在nginx服务器上部署 具体操作链接:阿里云文档 修改前 修改后 四.重启ngnix 五.验证是否成功 在浏览器输入域名查看

maven 私服搭建(tar+docker)

maven私服搭建 一、linux安装nexus1、工具下载 二、 docker 搭建nexus1、镜像下载创建目录2、运行nexus3、访问确认&#xff0c;修改默认密码&#xff0c;禁用匿名用户登录4、创建仓库5、创建hostd仓库6、创建Blob Stores7、创建docker私服1、创建proxy仓库2、创建hotsed本地仓…