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

news2024/11/25 19:42:10

目录

一、用法精讲

106、pandas.Series.iloc方法

106-1、语法

106-2、参数

106-3、功能

106-4、返回值

106-5、说明

106-6、用法

106-6-1、数据准备

106-6-2、代码示例

106-6-3、结果输出

107、pandas.Series.__iter__魔法方法

107-1、语法

107-2、参数

107-3、功能

107-4、返回值

107-5、说明

107-6、用法

107-6-1、数据准备

107-6-2、代码示例

107-6-3、结果输出

108、pandas.Series.items方法

108-1、语法

108-2、参数

108-3、功能

108-4、返回值

108-5、说明

108-6、用法

108-6-1、数据准备

108-6-2、代码示例

108-6-3、结果输出

109、pandas.Series.keys方法

109-1、语法

109-2、参数

109-3、功能

109-4、返回值

109-5、说明

109-6、用法

109-6-1、数据准备

109-6-2、代码示例

109-6-3、结果输出

110、pandas.Series.pop方法

110-1、语法

110-2、参数

110-3、功能

110-4、返回值

110-5、说明

110-6、用法

110-6-1、数据准备

110-6-2、代码示例

110-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

106、pandas.Series.iloc方法
106-1、语法
# 106、pandas.Series.iloc方法
pandas.Series.iloc
Purely integer-location based indexing for selection by position.

Deprecated since version 2.2.0: Returning a tuple from a callable is deprecated.

.iloc[] is primarily integer position based (from 0 to length-1 of the axis), but may also be used with a boolean array.

Allowed inputs are:

An integer, e.g. 5.

A list or array of integers, e.g. [4, 3, 0].

A slice object with ints, e.g. 1:7.

A boolean array.

A callable function with one argument (the calling Series or DataFrame) and that returns valid output for indexing (one of the above). This is useful in method chains, when you don’t have a reference to the calling object, but would like to base your selection on some value.

A tuple of row and column indexes. The tuple elements consist of one of the above inputs, e.g. (0, 1).

.iloc will raise IndexError if a requested indexer is out-of-bounds, except slice indexers which allow out-of-bounds indexing (this conforms with python/numpy slice semantics).

See more at Selection by Position.
106-2、参数

        无

106-3、功能

        用于基于整数位置选择数据的索引器,它允许你通过行的整数位置来选择数据, 主要用于选择特定位置上的元素、切片或者行列组合,该方法在数据处理和分析中非常有用,特别是在你不关心具体标签而只关心位置时。

106-4、返回值

        返回值类型取决于你选择的数据的类型和数量,下面详细说明几种常见的返回值类型:

106-4-1、单个元素:如果你通过iloc选择了单个元素(例如s.iloc[2]),返回值将是该元素的具体值,这可以是整数、浮点数、字符串等,具体取决于Series中的元素类型。

106-4-2、多个元素:如果你选择了多个元素(例如s.iloc[1,3]),返回值将是一个pandas.Series对象,包含所选位置的元素,索引仍然是原始的索引值。

106-4-3、切片:如果你使用了切片(例如s.iloc[1:3]),返回值将是一个pandas.Series对象,包含所选范围内的所有元素,切片返回的Series保留了原始的索引。

106-4-4、行和列的组合:如果在DataFrame中使用iloc选择特定的行和列(例如df.iloc[0,1]),返回值将是该位置的具体值。

106-5、说明

106-5-1、iloc只接受整数类型的索引或者整数类型的切片。

106-5-2、如果索引超出了范围,会引发IndexError。

106-6、用法
106-6-1、数据准备
106-6-2、代码示例
# 106、pandas.Series.iloc方法
# 106-1、选择单个元素
import pandas as pd
s = pd.Series([10, 20, 30, 40])
print(s.iloc[2], end='\n\n')

# 106-2、选择多个元素
import pandas as pd
s = pd.Series([10, 20, 30, 40])
print(s.iloc[[1, 3]], end='\n\n')

# 106-3、切片
import pandas as pd
s = pd.Series([10, 20, 30, 40])
print(s.iloc[1:3], end='\n\n')  

# 106-4、选择特定位置的行和列
import pandas as pd
# 对于Series,通常只涉及单一维度,但对于DataFrame,iloc可以用于选择特定的行和列。
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
print(df.iloc[0, 1])
106-6-3、结果输出
# 106、pandas.Series.iloc方法
# 106-1、选择单个元素
# 30

# 106-2、选择多个元素
# 1    20
# 3    40
# dtype: int64

# 106-3、切片 
# 1    20
# 2    30
# dtype: int64

# 106-4、选择特定位置的行和列
# 4
107、pandas.Series.__iter__魔法方法
107-1、语法
# 107、pandas.Series.__iter__方法
pandas.Series.__iter__()
Return an iterator of the values.

These are each a scalar type, which is a Python scalar (for str, int, float) or a pandas scalar (for Timestamp/Timedelta/Interval/Period)

Returns:
iterator
107-2、参数

        无

107-3、功能

        让pandas.Series对象支持迭代。

107-4、返回值

        返回一个迭代器,可以逐个访问Series对象中的元素。

107-5、说明

107-5-1、返回值__iter__方法返回一个迭代器,该迭代器可以按Series对象中元素的顺序迭代。

107-5-2、性能:这个方法设计得非常高效,通常是通过直接访问底层的数据结构(如NumPy数组)来实现的,避免了不必要的内存开销。

107-5-3、内部实现__iter__ 方法内部通常会使用pandas库的数据结构(如Index对象和values属性)来实现高效的迭代。

107-5-4、用法:此方法使得Series可以与Python的其他迭代工具(如for循环、列表推导式等)无缝集成,简化了数据访问和处理的代码。

107-6、用法
107-6-1、数据准备
107-6-2、代码示例
# 107、pandas.Series.__iter__方法
import pandas as pd
# 创建一个Series对象
s = pd.Series([10, 20, 30, 40])
# 使用__iter__方法(隐式调用)
for value in s:
    print(value)
107-6-3、结果输出
# 107、pandas.Series.__iter__方法
# 10
# 20
# 30
# 40
108、pandas.Series.items方法
108-1、语法
# 108、pandas.Series.items方法
pandas.Series.items()
Lazily iterate over (index, value) tuples.

This method returns an iterable tuple (index, value). This is convenient if you want to create a lazy iterator.

Returns:
iterable
Iterable of tuples containing the (index, value) pairs from a Series.
108-2、参数

        无

108-3、功能

        用于返回一个生成器,这个生成器可以逐个提供pandas.Series对象中的每一个键值对,每个键值对以元组的形式返回,其中包含了Series的索引和值。

108-4、返回值

        返回一个生成器对象。每次迭代生成器时,都会返回一个包含Series索引和对应值的元组(index,value)

108-5、说明

108-5-1、返回类型:items方法返回的是一个生成器,这使得它在处理大数据集时比较高效,因为它不会一次性将所有数据加载到内存中。

108-5-2、用途:items方法通常用于需要同时访问索引和值的场景。例如,在进行数据遍历、构建报告或处理数据时,可以方便地获取每个索引和对应的值。

108-5-3、效率:由于生成器是惰性计算的,items方法的性能较好,尤其是当Series很大时,它不会立即生成所有的键值对,而是按需生成。

108-6、用法
108-6-1、数据准备
108-6-2、代码示例
# 108、pandas.Series.items方法
import pandas as pd
# 创建一个Series对象
s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
# 使用items方法获取生成器
for index, value in s.items():
    print(f"Index: {index}, Value: {value}")
108-6-3、结果输出
# 108、pandas.Series.items方法
# Index: a, Value: 10
# Index: b, Value: 20
# Index: c, Value: 30
109、pandas.Series.keys方法
109-1、语法
# 109、pandas.Series.keys方法
pandas.Series.keys()
Return alias for index.

Returns:
Index
Index of the Series.
109-2、参数

        无

109-3、功能

        用于返回pandas.Series对象的索引,它提供了一种方便的方式来获取Series中所有索引标签的列表。

109-4、返回值

        返回一个Index对象,该对象包含了Series的所有索引标签。

109-5、说明

109-5-1、返回类型:keys方法返回一个Index对象,这是pandas中用于存储轴标签的基本对象。Index对象提供了一些有关标签的属性和方法,如tolist()将Index转换为列表。

109-5-2、用途:keys方法适用于需要获取Series索引标签的场景,特别是在处理数据时需要知道索引信息时。

109-5​​​​​​​-3、等效性:keys方法与index属性等效,实际上,调用s.keys()和s.index会得到相同的结果。

109-6、用法
109-6-1、数据准备
109-6-2、代码示例
# 109、pandas.Series.keys方法
import pandas as pd
# 创建一个Series对象
s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
# 使用keys方法获取索引
index_labels = s.keys()
print(index_labels)
109-6-3、结果输出
# 109、pandas.Series.keys方法
# Index(['a', 'b', 'c'], dtype='object')
110、pandas.Series.pop方法
110-1、语法
# 110、pandas.Series.pop方法
pandas.Series.pop(item)
Return item and drops from series. Raise KeyError if not found.

Parameters:
item
label
Index of the element that needs to be removed.

Returns:
Value that is popped from series.
110-2、参数

110-2-1、item(必须)表示要移除的索引标签。

110-3、功能

        用于从pandas.Series对象中删除一个指定的元素,并返回这个元素的值。

110-4、返回值

        返回被删除项的值,如果指定的标签不存在,则会引发一个KeyError。

110-5、说明

        无

110-6、用法
110-6-1、数据准备
110-6-2、代码示例
# 110、pandas.Series.pop方法
import pandas as pd
# 创建一个Series对象
s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
# 使用pop方法删除索引为'b'的项
value = s.pop('b')
print(value, end='\n\n')
# 打印修改后的Series对象
print(s)
110-6-3、结果输出
# 110、pandas.Series.pop方法
# 20
#
# a    10
# c    30
# dtype: int64

二、推荐阅读

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

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

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

相关文章

Science Robotics 一种使用导电嵌段共聚物弹性体和心理物理阈值来实现准确触觉效果的方法

速读:电触觉刺激作为感官替代的形式存在许多问题,如反应不一致、疼痛和脱敏等问题。加州大学Darren J. Lipomi教授团队研究了一种利用导电嵌段共聚物弹性体和心理物理阈值来实现准确触觉的方法。通过优化材料、设备布局和校准技术,他们在10名…

web服务器——虚拟主机配置实战

搭建静态网站 —— 基于 http 协议的静态网站 实验 1 :搭建一个 web 服务器,访问该服务器时显示 “hello world” 欢迎界面 。 实验 2 :建立两个基于 ip 地址访问的网站,要求如下 该网站 ip 地址的主机位为 100 ,设置…

jupyter_contrib_nbextensions安装失败问题

目录 1.文件路径长度问题 2.jupyter不出现Nbextensions选项 1.文件路径长度问题 问题: could not create build\bdist.win-amd64\wheel\.\jupyter_contrib_nbextensions\nbextensions\contrib_nbextensions_help_item\contrib_nbextensions_help_item.yaml: No su…

【强化学习的数学原理】课程笔记--4(随机近似与随机梯度下降,时序差分方法)

目录 随机近似与随机梯度下降Mean estimationRobbins-Monro 算法用 Robbins-Monro 算法解释 Mean estimation用 Robbins-Monro 算法解释 Batch Gradient descent用 SGD 解释 Mean estimation SGD 的一个有趣的性质 时序差分方法Sarsa 算法一个例子 Expected Sarsa 算法n-step S…

LLM基础模型系列:Prefix-Tuning

------->更多内容&#xff0c;请移步“鲁班秘笈”&#xff01;&#xff01;<------ Prefix Tuning和Prompt Tuning最大的区别就是向每层的Transformer Block添加可训练的张量&#xff0c;而上一期的Prompt Tuning只是在输入的时候添加。 此外&#xff0c;通过全连接层&a…

【BUG】已解决:ModuleNotFoundError: No module named ‘sklearn‘

已解决&#xff1a;ModuleNotFoundError: No module named ‘sklearn‘ 目录 已解决&#xff1a;ModuleNotFoundError: No module named ‘sklearn‘ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是…

模型剪枝入门

一、定义 1.定义 2. 案例1 3. 全局剪枝案例 4. 全局剪枝案例 5. 自定义剪枝 6. 特定网络剪枝 7. 多参数模块剪枝 8. torch.nn.utils.prune 解读 二、实现 定义 接口&#xff1a; import torch.nn.utils.prune as prune案例1 import torch.nn as nn import torch.nn.utils.…

深入理解Linux网络(二):UDP接收内核探究

深入理解Linux网络&#xff08;二&#xff09;&#xff1a;UDP接收内核探究 一、UDP 协议处理二、recvfrom 系统调⽤实现 一、UDP 协议处理 udp 协议的处理函数是 udp_rcv。 //file: net/ipv4/udp.c int udp_rcv(struct sk_buff *skb) {return __udp4_lib_rcv(skb, &udp_…

IntelliJ IDEA 直接在软件中更新为最新版

当我们的 IDEA 工具许久没有更新&#xff0c;已经拖了好几个版本&#xff0c;想跨大版本更新&#xff0c;比如从2020.2.1 -> 2023.x.x 此时&#xff0c;我们菜单栏点击 Help -> Check for Updates… &#xff0c;右下角会有提示更新&#xff0c;如下图&#xff1a; 点…

【深大计算机系统(2)】实验一 实验环境配置与使用 附常用指令

目录 一、 实验目标&#xff1a; 二、实验环境与工件&#xff1a; 三、实验内容与步骤 1. 学习并熟悉Linux基本操作&#xff0c;按照要求创建用户。&#xff08;30分&#xff09; 2.新建用户主目录下创建子目录&#xff1a;gdbdebug&#xff0c;并进入gdbdebug子目录。将过程和…

亲测--linux下安装ffmpeg最新版本---详细教程

下载地址 Download FFmpeg 下载最新的https://ffmpeg.org/releases/ffmpeg-7.0.1.tar.xz 上传到服务器 解压 tar xvf ffmpeg-7.0.1.tar.xz 编译 cd ffmpeg-7.0.1 ./configure --prefix=/usr/local/ffmpeg make && make install 报错: 解决:在后面加 跳过检测…

粉尘传感器助力面粉厂安全生产

在面粉加工行业中&#xff0c;粉尘问题一直是一个不容忽视的难题。从原料的破碎、研磨到成品的包装&#xff0c;整个生产流程中都会伴随着大量的粉尘产生。这些粉尘不仅影响生产环境&#xff0c;更对工作人员的健康、设备的安全运行以及环境保护构成严重威胁。因此&#xff0c;…

【Unity实战100例】Unity声音可视化多种显示效果

目录 一、技术背景 二、界面搭建 三、 实现 UIAudioVisualizer 基类 四、实现 AudioSampler 类 五、实现 IAudioSample 接口 六、实现MusicAudioVisualizer 七、实现 MicrophoneAudioManager 类 八、实现 MicrophoneAudioVisualizer 类 九、源码下载 Unity声音可视化四…

云计算数据中心(三)

目录 四、自动化管理&#xff08;一&#xff09;自动化管理的特征&#xff08;二&#xff09;自动化管理实现阶段&#xff08;三&#xff09;Facebook自动化管理 五、容灾备份&#xff08;一&#xff09;容灾系统的等级标准&#xff08;二&#xff09;容灾备份的关键技术&#…

基于图片中的表格检测与识别

1、项目介绍 本文将会使用Microsoft开源的表格检测模型table-transformer-detection来实现表格检测与入门。 以下将分三部分进行介绍&#xff1a; 表格检测&#xff1a;检测图片或PDF文件中的表格所在的区域表格结构识别&#xff1a;对于检测后的表格区域&#xff0c;再详细识…

Langchain[3]:Langchain架构演进与功能扩展:流式事件处理、事件过滤机制、回调传播策略及装饰器应用

Langchain[3]:Langchain架构演进与功能扩展&#xff1a;流式事件处理、事件过滤机制、回调传播策略及装饰器应用 1. Langchain的演变 v0.1: 初始版本&#xff0c;包含基本功能。 从0.1~0.2完成的特性&#xff1a; 通过事件流 API 提供更好的流式支持。标准化工具调用支持Tool…

全国区块链职业技能大赛国赛考题前端功能开发

任务3-1:区块链应用前端功能开发 1.请基于前端系统的开发模板,在登录组件login.js、组件管理文件components.js中添加对应的逻辑代码,实现对前端的角色选择功能,并测试功能完整性,示例页面如下: 具体要求如下: (1)有明确的提示,提示用户选择角色; (2)用户可看…

Java中静态代理和动态代理介绍和使用

前言 在Java中&#xff0c;代理模式是一种常用的设计模式&#xff0c;用于为其他对象提供一种代理以控制对这个对象的访问。代理模式主要有两种实现方式&#xff1a;静态代理和动态代理。 一、静态代理 静态代理是由程序员手动创建或指定代理类&#xff0c;代理类在程序运行…

【C语言】详解结构体(下)(位段)

文章目录 前言1. 位段的含义2. 位段的声明3. 位段的内存分配&#xff08;重点&#xff09;3.1 存储方向的问题3.2 剩余空间利用的问题 4. 位段的跨平台问题5. 位段的应用6. 总结 前言 相信大部分的读者在学校或者在自学时结构体的知识时&#xff0c;可能很少会听到甚至就根本没…

sip代理服务器、SIP用户代理服务器、sip服务器的区别和联系

一&#xff0e;SIP代理服务器&#xff08;SIP Proxy Server&#xff09;和SIP用户代理服务器&#xff08;SIP User Agent Server&#xff0c;简称SIP UAS&#xff09;的区别和联系。 1. 区别 1&#xff09;功能定位 SIP代理服务器&#xff1a;主要负责将SIP请求消息从发起方…