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

目录

一、用法精讲

921、pandas.Index.get_level_values方法

921-1、语法

921-2、参数

921-3、功能

921-4、返回值

921-5、说明

921-6、用法

921-6-1、数据准备

921-6-2、代码示例

921-6-3、结果输出

922、pandas.Index.get_loc方法

922-1、语法

922-2、参数

922-3、功能

922-4、返回值

922-5、说明

922-6、用法

922-6-1、数据准备

922-6-2、代码示例

922-6-3、结果输出

923、pandas.Index.get_slice_bound方法

923-1、语法

923-2、参数

923-3、功能

923-4、返回值

923-5、说明

923-6、用法

923-6-1、数据准备

923-6-2、代码示例

923-6-3、结果输出

924、pandas.Index.isin方法

924-1、语法

924-2、参数

924-3、功能

924-4、返回值

924-5、说明

924-6、用法

924-6-1、数据准备

924-6-2、代码示例

924-6-3、结果输出

925、pandas.Index.slice_indexer方法

925-1、语法

925-2、参数

925-3、功能

925-4、返回值

925-5、说明

925-6、用法

925-6-1、数据准备

925-6-2、代码示例

925-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

921、pandas.Index.get_level_values方法
921-1、语法
# 921、pandas.Index.get_level_values方法
pandas.Index.get_level_values(level)
Return an Index of values for requested level.This is primarily useful to get an individual level of values from a MultiIndex, but is provided on Index as well for compatibility.Parameters:
level
int or str
It is either the integer position or the name of the level.Returns:
Index
Calling object, as there is only one level in the Index.
921-2、参数

921-2-1、level(必需)可以是以下几种类型之一:

  • 整数:表示要获取的索引级别(从0开始计数)
  • 字符串:表示要获取的索引级别的名称
  • 默认值:如果不指定,则默认为0,即获取第一级索引的值
921-3、功能

921-3-1、从多级索引中提取指定级别的所有值。

921-3-2、对于单级索引,它返回索引值本身。

921-3-3、对于多级索引,它返回指定级别的所有唯一值。

921-4、返回值

        返回一个 Index 对象,包含指定级别的所有值,返回的Index类型取决于原始索引中该级别的数据类型。例如,如果该级别包含字符串,则返回pandas.Index;如果包含日期时间,则返回pandas.DatetimeIndex等。

921-5、说明

        无

921-6、用法
921-6-1、数据准备
921-6-2、代码示例
# 921、pandas.Index.get_level_values方法
import pandas as pd
# 创建一个多级索引的DataFrame
df = pd.DataFrame({'A': range(6),'B': ['a', 'b'] * 3
}, index=[['x', 'x', 'y', 'y', 'z', 'z'], [1, 2, 1, 2, 1, 2]])print(df)
'''A  B
x 1  0  a2  1  b
y 1  2  a2  3  b
z 1  4  a2  5  b
'''
# 获取第一级索引的值
level_0 = df.index.get_level_values(0)
print(level_0)
# 获取第二级索引的值
level_1 = df.index.get_level_values(1)
print(level_1)
# 使用级别名称获取索引值(如果设置了名称)
df.index.names = ['Upper', 'Lower']
upper_level = df.index.get_level_values('Upper')
print(upper_level)
921-6-3、结果输出
# 921、pandas.Index.get_level_values方法# A  B
# x 1  0  a
#   2  1  b
# y 1  2  a
#   2  3  b
# z 1  4  a
#   2  5  b
# Index(['x', 'x', 'y', 'y', 'z', 'z'], dtype='object')
# Index([1, 2, 1, 2, 1, 2], dtype='int64')
# Index(['x', 'x', 'y', 'y', 'z', 'z'], dtype='object', name='Upper')
922、pandas.Index.get_loc方法
922-1、语法
# 922、pandas.Index.get_loc方法
pandas.Index.get_loc(key)
Get integer location, slice or boolean mask for requested label.Parameters:
key
label
Returns:
int if unique index, slice if monotonic index, else mask
922-2、参数

922-2-1、key(必需)表示要查找的键,可以是单个值或用于多级索引时的元组。

922-3、功能

        允许用户获取特定键在索引中的位置,从而用于数据选择和过滤等操作,提供一种高效的方法查找索引位置,尤其是在大型数据集上进行操作时。

922-4、返回值

        对于单级索引,返回该键在Index中的整数位置;对于多级索引,返回一个切片对象,表示该键在每个级别中的位置,或者通过Leaf和Level描述来表示索引(如整数、切片等),如果该键不存在,将引发KeyError。

922-5、说明

        无

922-6、用法
922-6-1、数据准备
922-6-2、代码示例
# 922、pandas.Index.get_loc方法
import pandas as pd
# 创建一个单级索引
index_single = pd.Index(['a', 'b', 'c', 'd'])
# 查找元素'b'的位置
pos_b = index_single.get_loc('b')
print(pos_b)
# 调用不存在的元素
# pos_x = index_single.get_loc('x')  # 会引发 KeyError
# 创建一个多级索引
index_multi = pd.MultiIndex.from_tuples([('a', 1), ('a', 2), ('b', 1), ('c', 1)])
# 查找元素('b', 1)的位置
pos_b1 = index_multi.get_loc(('b', 1))
print(pos_b1)
# 查找元素('a', 1)的位置
pos_a1 = index_multi.get_loc(('a', 1))
print(pos_a1)  
922-6-3、结果输出
# 922、pandas.Index.get_loc方法
# 1
# 2
# 0
923、pandas.Index.get_slice_bound方法
923-1、语法
# 923、pandas.Index.get_slice_bound方法
pandas.Index.get_slice_bound(label, side)
Calculate slice bound that corresponds to given label.Returns leftmost (one-past-the-rightmost if side=='right') position of given label.Parameters:
label
object
side
{‘left’, ‘right’}
Returns:
int
Index of label.
923-2、参数

923-2-1、label(必需)表示要查找的标签值,可以是任何与索引类型兼容的对象。

923-2-2、side(必需)字符串,必须是'left'或'right',相关说明如下:

  • 'left': 返回第一个大于等于给定标签的位置
  • 'right':返回第一个大于给定标签的位置
923-3、功能

        用于在排序的Index对象中查找给定标签的边界位置,在实现基于标签的切片操作时非常有用。

923-4、返回值

        返回一个整数,表示满足条件的边界位置的索引。

  • 如果找到完全匹配的标签,则返回其位置
  • 如果未找到完全匹配,则根据side参数返回最接近的位置
  • 如果label小于索引中的所有值,则返回0
  • 如果label大于索引中的所有值,则返回len(index)
923-5、说明

        无

923-6、用法
923-6-1、数据准备
923-6-2、代码示例
# 923、pandas.Index.get_slice_bound方法
import pandas as pd
idx = pd.Index([1, 2, 3, 4, 5])
print(idx.get_slice_bound(3, 'left'))   
print(idx.get_slice_bound(3, 'right'))
print(idx.get_slice_bound(2.5, 'left'))
print(idx.get_slice_bound(2.5, 'right'))
923-6-3、结果输出
# 923、pandas.Index.get_slice_bound方法
# 2
# 3
# 2
# 2
924、pandas.Index.isin方法
924-1、语法
# 924、pandas.Index.isin方法
pandas.Index.isin(values, level=None)
Return a boolean array where the index values are in values.Compute boolean array of whether each index value is found in the passed set of values. The length of the returned boolean array matches the length of the index.Parameters:
values
set or list-like
Sought values.level
str or int, optional
Name or position of the index level to use (if the index is a MultiIndex).Returns:
np.ndarray[bool]
NumPy array of boolean values.
924-2、参数

924-2-1、values(必需)用于指定一组值,这些值将被用来检查当前索引对象的元素是否在其中,通常是一个可以被迭代的对象,比如列表、集合、数组等。

924-2-2、level(可选,默认值为None)索引级别的名称(字符串)或级别的整数位置(从0开始),当索引是多级索引(MultiIndex)时,可以指定一个级别(level)进行匹配;如果不指定,默认为None,表示对整个索引进行匹配。

924-3、功能

        判断Index对象中的每个元素是否包含在values提供的集合中。

924-4、返回值

        返回一个布尔型的numpy.ndarray,其中每个布尔值对应于Index中的一个元素,如果该元素存在于values中,则对应位置为True;否则为False。

924-5、说明

        无

924-6、用法
924-6-1、数据准备
924-6-2、代码示例
# 924、pandas.Index.isin方法
import pandas as pd
# 创建一个索引对象
idx = pd.Index([1, 2, 3, 4, 5])
# 检查哪些元素存在于指定的值列表中
print(idx.isin([2, 4, 6]))
# 多层索引示例
multi_idx = pd.MultiIndex.from_tuples([(1, 'a'), (2, 'b'), (3, 'c')])
# 在指定层级中查找
print(multi_idx.isin([1, 3], level=0))  
924-6-3、结果输出
# 924、pandas.Index.isin方法
# [False  True False  True False]
# [ True False  True]
925、pandas.Index.slice_indexer方法
925-1、语法
# 925、pandas.Index.slice_indexer方法
pandas.Index.slice_indexer(start=None, end=None, step=None)
Compute the slice indexer for input labels and step.Index needs to be ordered and unique.Parameters:
start
label, default None
If None, defaults to the beginning.end
label, default None
If None, defaults to the end.step
int, default None
Returns:
slice
Raises:
KeyError
If key does not exist, or key is not unique and index is
not ordered.NotesThis function assumes that the data is sorted, so use at your own peril
925-2、参数

925-2-1、start(可选,默认值为None)表示切片的起始位置(含),可以是整数或字符串,如果为None,则表示从索引的开始位置开始。

925-2-2、end(可选,默认值为None)表示切片的结束位置(含),可以是整数或字符串,如果为None,则表示到索引的结束位置。

925-2-3、step(可选,默认值为None)表示切片的步长,可以是整数,如果为None,则表示步长为1。

925-3、功能

        计算索引切片的起始和结束位置。

925-4、返回值

        一个元组(start, end, step),表示切片的起始位置、结束位置和步长。

925-5、说明

        无

925-6、用法
925-6-1、数据准备
925-6-2、代码示例
# 925、pandas.Index.slice_indexer方法
import pandas as pd
idx = pd.MultiIndex.from_arrays([list('abcd'), list('efgh')])
data = idx.slice_indexer(start='b', end=('c', 'g'))
print(data)
925-6-3、结果输出
# 925、pandas.Index.slice_indexer方法
# slice(1, 3, None)

二、推荐阅读

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

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

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

相关文章

机器学习(四)——神经网络(神经元、感知机、BP神经网络、梯度下降、多层神经网络、Python源码)

目录 关于1 神经元模型2 感知机与多层网络3 误差逆传播算法4 全局最小与局部极小5 其他常见神经网络6 深度学习X 案例代码X.1 源码X.2 数据集(加州房价数据)X.3 模型效果 关于 本文是基于西瓜书(第五章)的学习记录。内容包括神经…

Diving into the STM32 HAL-----Clock Tree笔记

几乎每个数字电路都需要一种方法来同步其内部电路或与其他电路同步。时钟是一种产生周期性信号的设备,它是数字电子学中最普遍的心跳源形式。 然而,相同的时钟信号不能用于馈送现代微控制器(如 STM32 微控制器)提供的所有组件和外…

每日科技资讯:2024年11月06日【龙】农历十月初六 ---文末送书

目录 1.OpenAI因算力瓶颈暂缓GPT-5发布 合作芯片开发寻求突破2.现在,𝕏 允许被你屏蔽的人继续查看你的帖子3.硬刚Intel与AMD!NVIDIA明年推出PC芯片4.苹果停止签署 iOS 18.0.1,不再允许从 18.1 降级5.Nvidia 加入道琼斯指数成份股 …

高效率的快捷回复软件 —— 客服宝聊天助手

在电商行业日益繁荣的今天,高效的客户沟通对于企业的成功至关重要。无论是电商平台、居家客服还是其他各类客服行业,都需要一款强大的工具来提升工作效率。今天,我们就来介绍一款高效率的快捷回复软件 —— 客服宝聊天助手。 一、跨平台跨店铺…

RabbitMQ如何保证发送的消息可靠(RabbitMQ的Confirm模式和2.Return模式)

RabbitMQ如何保证发送的消息可靠(RabbitMQ的Confirm模式和2.Return模式) 1、RabbitMQ消息Confirm模式(保证从生产者到交换机的消息可靠)1.1、Confirm模式简介1.2、具体代码实现1.2.1、application.yml 开启确认模式1.2.2、生产者方…

讲讲分布式事务?

大家好,我是锋哥。今天分享关于【讲讲分布式事务?】面试题。希望对大家有帮助; 讲讲分布式事务? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在现代的分布式系统中,数据往往分布在不同的服务器、数据中…

【职场日常】软件测试平台如何搭建?

作为一名软件测试工程师,搭建测试环境是我们日常工作的一部分。搭建一个适合各类测试的测试环境至关重要,可以在后期的测试过程中为我们提供便利。接下来我将向大家介绍如何搭建测试环境,以及需要注意的事项。 首先,我们需要确保…

Spring Boot关闭时,如何确保内存里面的mq消息被消费完?

1.背景 之前写一篇文章Spring Boot集成disruptor快速入门demo,有网友留言如下图: 针对网友的留言,那么我们如何解决这个问题呢 Spring-Boot应用停机时,如何保证其内存消息都处理完成? 2.解决方法 方法其实挺简单的&…

3D一览通更新三大功能更新,进一步提升协同效率

大腾智能3D一览通新功能正式发布!本次新版本在通用功能的基础上,新增并优化了3大功能点,为用户带来更加流畅、高效的使用体验,提升设计协同效率。 功能点1:在结构树中管理测量标注对象 在新版本中,我们将…

基于DCT的数字水印算法

摘要 数字水印技术近年来得到了较大的发展,基于变换域的水印技术是目前研究的热点。数字水印是利用数字作品中普遍存在的冗余数据和随机性,把标识版权的水印信息嵌入到数字作品中,从而可以起到保护数字作品的版权或其完整性的一种技术。 一个…

JAVA——反射

目录 1.概述 2.Class类 a.实例化对象 1.利用Class类的静态方法 2. 利用类名 3.利用类的成员方法 b.常见方法 1.获取所有公共构造方法对象的数组 2.获取所有构造方法对象数组 3.获取单个公共构造方法对象 4.获取单个构造方法对象 5.获取所有公共成员变量对象的数组 …

CMDB模型管理:构筑高效IT运维的坚实基础

在CMDB中,模型是一个非常重要的概念,在前面的文章中我们提到了模型对于保障CMDB数据准确性的重要性。那么,要如何理解CMDB的模型呢?模型在CMDB中又是什么地位?能起到什么作用呢? 一、模型概述 在CMDB中&…

一个月调研分析标的“英伟达”

放在现在依然成立 一、移动网兴起至今的最佳股票与人工智能时代的目标 9 年移动网兴起至今,若选一只股票长期持有,最佳解是 ARM(涨了 20 倍),因为无论系统层和应用层谁胜出,底层一定是芯片,而…

实现金蝶和简道云仓库数据的高效集成

实现金蝶和简道云仓库数据的高效集成 金蝶-仓库--->简道云-仓库:高效数据集成方案 在企业信息化管理中,数据的高效流转和实时监控是提升业务效率的关键。本文将分享一个实际案例,展示如何通过轻易云数据集成平台,将金蝶云星空…

Redis - Hash 哈希

一、基本认识 ⼏乎所有的主流编程语⾔都提供了哈希(hash)类型,它们的叫法可能是哈希、字典、关联数 组、映射。在Redis中,哈希类型是指值本⾝⼜是⼀个键值对结构,形如key"key",value{{ field1, v…

基于python的简单web服务器示例

安装flask flask 简介:是一个用Python编写的Web应用程序框架。 它由 Armin Ronacher 开发,他领导一个名为Pocco的国际Python爱好者团队。 Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。两者都是Pocco项目 新建项目 创建好的效果 pip list 检索 安装…

职场日常:多年的测试工程师如何继续在测试行业中砥砺前行

大家好,今天我们一起聊聊测试工程师在职业、在团队、在家庭中如何更好的做好角色。 作为一个工作了多年测试工作的大牛来说,从今天开始或许未来会因为各个方面的原因可能不在从事软件测试了,但是会继续总结过往的经验,从事这么多…

【图神经网络】 AM-GCN代码实战(4)【pytorch】代码可运行

AM-GCN 网络系列 代码实践部分1. dataprocess.py1.1 模块导入1.2 特征文件生成1.3 KNN构图 2. configparser.py3. layers.py4. models.py5. utils.py6. main.py总结 代码实践部分 本专栏致力于深入探讨图神经网络模型相关的学术论文,并通过具体的编程实验来深化理解…

「Mac畅玩鸿蒙与硬件25」UI互动应用篇2 - 计时器应用实现

本篇将带领你实现一个实用的计时器应用,用户可以启动、暂停或重置计时器。该项目将涉及时间控制、状态管理以及按钮交互,是掌握鸿蒙应用开发的重要步骤。 关键词 UI互动应用时间控制状态管理用户交互 一、功能说明 在这个计时器应用中,用户…

条件logistic回归原理及案例分析

前面介绍的二元、多分类、有序Logistic回归都属于非条件Logistic回归,每个个案均是相互独立关系。在实际研究中,还有另外一种情况,即个案间存在配对关系,比如医学研究中配对设计的病例对照研究,此时违反了个案相互独立…