Python酷库之旅-第三方库Pandas(206)
目录
一、用法精讲
961、pandas.IntervalIndex.mid属性
961-1、语法
961-2、参数
961-3、功能
961-4、返回值
961-5、说明
961-6、用法
961-6-1、数据准备
961-6-2、代码示例
961-6-3、结果输出
962、pandas.IntervalIndex.length属性
962-1、语法
962-2、参数
962-3、功能
962-4、返回值
962-5、说明
962-6、用法
962-6-1、数据准备
962-6-2、代码示例
962-6-3、结果输出
963、pandas.IntervalIndex.get_loc方法
963-1、语法
963-2、参数
963-3、功能
963-4、返回值
963-5、说明
963-6、用法
963-6-1、数据准备
963-6-2、代码示例
963-6-3、结果输出
964、pandas.IntervalIndex.get_indexer方法
964-1、语法
964-2、参数
964-3、功能
964-4、返回值
964-5、说明
964-6、用法
964-6-1、数据准备
964-6-2、代码示例
964-6-3、结果输出
965、pandas.MultiIndex类
965-1、语法
965-2、参数
965-3、功能
965-4、返回值
965-5、说明
965-6、用法
965-6-1、数据准备
965-6-2、代码示例
965-6-3、结果输出
二、推荐阅读
1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页



一、用法精讲
961、pandas.IntervalIndex.mid属性
961-1、语法
# 961、pandas.IntervalIndex.mid属性
pandas.IntervalIndex.mid
961-2、参数
无
961-3、功能
用于返回IntervalIndex中每个区间的中点,该属性对每个在IntervalIndex中定义的区间计算中间值,结果是一个Float64Index或Int64Index,具体取决于区间的类型。
961-4、返回值
返回值是一个Float64Index,它包含每个区间的中间值,这些中间值是通过计算每个区间的下限和上限之间的平均值得到的。具体来说,对于每个区间[a, b],中点计算公式为(a + b) / 2。
961-5、说明
无
961-6、用法
961-6-1、数据准备
无
961-6-2、代码示例
# 961、pandas.IntervalIndex.mid属性
import pandas as pd
# 创建一个IntervalIndex
interval_index = pd.IntervalIndex.from_tuples([(1, 3), (4, 6), (7, 9)])
# 获取每个区间的中点
mid_points = interval_index.mid
print(mid_points)
961-6-3、结果输出
# 961、pandas.IntervalIndex.mid属性
# Index([2.0, 5.0, 8.0], dtype='float64')
962、pandas.IntervalIndex.length属性
962-1、语法
# 962、pandas.IntervalIndex.length属性
pandas.IntervalIndex.length
962-2、参数
无
962-3、功能
计算IntervalIndex中每个区间的长度。
962-4、返回值
返回一个Int64Index对象,包含每个区间的长度。
962-5、说明
无
962-6、用法
962-6-1、数据准备
无
962-6-2、代码示例
# 962、pandas.IntervalIndex.length属性
import pandas as pd
# 创建一个IntervalIndex
intervals = pd.IntervalIndex.from_tuples([(0, 1), (1, 3), (3, 5)])
# 计算区间的长度
lengths = intervals.length
print(lengths)
962-6-3、结果输出
# 962、pandas.IntervalIndex.length属性
# Index([1, 2, 2], dtype='int64')
963、pandas.IntervalIndex.get_loc方法
963-1、语法
# 963、pandas.IntervalIndex.get_loc方法
pandas.IntervalIndex.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
963-2、参数
963-2-1、key(必须):表示要查找的区间,可以是一个Interval对象。
963-3、功能
用于查找指定的区间在IntervalIndex中的位置(索引),该方法可以帮助你快速确定某个区间是否存在于IntervalIndex中,以及它的位置。
963-4、返回值
返回指定区间的整数索引,如果区间不存在,则会抛出KeyError。
963-5、说明
无
963-6、用法
963-6-1、数据准备
无
963-6-2、代码示例
# 963、pandas.IntervalIndex.get_loc方法
import pandas as pd
# 创建一个IntervalIndex
intervals = pd.IntervalIndex.from_tuples([(0, 1), (1, 3), (3, 5)])
# 使用get_loc查找区间的位置
loc1 = intervals.get_loc(pd.Interval(0, 1))
loc2 = intervals.get_loc(pd.Interval(1, 3))
print(loc1)
print(loc2)
963-6-3、结果输出
# 963、pandas.IntervalIndex.get_loc方法
# 0
# 1
964、pandas.IntervalIndex.get_indexer方法
964-1、语法
# 964、pandas.IntervalIndex.get_indexer方法
pandas.IntervalIndex.get_indexer(target, method=None, limit=None, tolerance=None)
Compute indexer and mask for new index given the current index.The indexer should be then used as an input to ndarray.take to align the current data to the new index.Parameters:
targetIndex
method{None, ‘pad’/’ffill’, ‘backfill’/’bfill’, ‘nearest’}, optional
default: exact matches only.pad / ffill: find the PREVIOUS index value if no exact match.backfill / bfill: use NEXT index value if no exact matchnearest: use the NEAREST index value if no exact match. Tied distances are broken by preferring the larger index value.limitint, optional
Maximum number of consecutive labels in target to match for inexact matches.toleranceoptional
Maximum distance between original and new labels for inexact matches. The values of the index at the matching locations must satisfy the equation abs(index[indexer] - target) <= tolerance.Tolerance may be a scalar value, which applies the same tolerance to all values, or list-like, which applies variable tolerance per element. List-like includes list, tuple, array, Series, and must be the same size as the index and its dtype must exactly match the index’s type.Returns:
np.ndarray[np.intp]
Integers from 0 to n - 1 indicating that the index at these positions matches the corresponding target values. Missing values in the target are marked by -1.NotesReturns -1 for unmatched values, for further explanation see the example below.
964-2、参数
964-2-1、target(必须):array-like,一个包含要查找的值的数组或序列,这些值可以是区间的边界或其他数值。
964-2-2、method(可选,默认值为None):str,指定查找方法,可选值包括:
- 'pad'或'ffill':查找第一个小于或等于目标值的区间(向前查找)。
- 'backfill'或'bfill':查找第一个大于目标值的区间(向后查找)。
964-2-3、limit(可选,默认值为None):int,限制结果中可以返回的匹配数量,如果设置了这个参数,返回的位置索引将受到限制。
964-2-4、tolerance(可选,默认值为None):array-like,指定容忍度,以控制可以接受的值范围,如果提供了这个参数,则只有在区间边界内的值才会被视为匹配。
964-3、功能
检索target中每个元素在IntervalIndex中的索引位置,它能够处理不同的查找策略(如精确匹配、向前查找和向后查找)。
964-4、返回值
返回一个一维的NumPy数组,其中包含target中每个值在IntervalIndex中的对应索引,如果某个值在区间中没有找到,则返回-1。
964-5、说明
无
964-6、用法
964-6-1、数据准备
无
964-6-2、代码示例
# 964、pandas.IntervalIndex.get_indexer方法
import pandas as pd
index = pd.Index(['c', 'a', 'b'])
arr1 = index.get_indexer(['a', 'b', 'x'])
print(arr1)
964-6-3、结果输出
# 964、pandas.IntervalIndex.get_indexer方法
# [ 1 2 -1]
965、pandas.MultiIndex类
965-1、语法
# 965、pandas.MultiIndex类
class pandas.MultiIndex(levels=None, codes=None, sortorder=None, names=None, dtype=None, copy=False, name=None, verify_integrity=True)
A multi-level, or hierarchical, index object for pandas objects.Parameters:
levels
sequence of arrays
The unique labels for each level.codes
sequence of arrays
Integers for each level designating which label at each location.sortorder
optional int
Level of sortedness (must be lexicographically sorted by that level).names
optional sequence of objects
Names for each of the index levels. (name is accepted for compat).copy
bool, default False
Copy the meta-data.verify_integrity
bool, default True
Check that the levels/codes are consistent and valid.See alsoMultiIndex.from_arrays
Convert list of arrays to MultiIndex.MultiIndex.from_product
Create a MultiIndex from the cartesian product of iterables.MultiIndex.from_tuples
Convert list of tuples to a MultiIndex.MultiIndex.from_frame
Make a MultiIndex from a DataFrame.Index
The base pandas Index type.NotesSee the user guide for more.
965-2、参数
965-2-1、levels(可选,默认值为None):list,一个包含多个层级(levels)列表的集合,每个层级包含该层的所有唯一值,这些值在创建MultiIndex时定义了每一层的内容。
965-2-2、codes(可选,默认值为None):list,一个包含整数列表的集合,表示各个层级的索引位置,长度应与levels参数对应,指定每个层级中对应值的位置。
965-2-3、sortorder(可选,默认值为None):int,指定索引的排序顺序,可以是一个整数,表示根据哪个层级进行排序。
965-2-4、names(可选,默认值为None):list,为MultiIndex的每一层级指定名称,可以帮助在访问或操作数据时提高可读性,默认情况下,层级没有名称。
965-2-5、dtype(可选,默认值为None):数据类型,指定索引的数据类型,默认情况下会根据提供的数据和层级自动推断。
965-2-6、copy(可选,默认值为False):bool,是否复制输入数据,默认值为False,如果为True,将强制复制数据。
965-2-7、name(可选,默认值为None):string,为整个索引设置一个通用名称(单一名称),当MultiIndex作为某一列的索引时会用到。
965-2-8、verify_integrity(可选,默认值为True):bool,是否验证数组的完整性,确保不含有重复的条目。
965-3、功能
支持多重层级索引,允许在同一数据结构中组织更多的层次信息,对于处理复杂的数据,如时间序列或分组数据,特别有用。
965-4、返回值
返回一个pandas.MultiIndex对象,可以将其直接用于pandas的DataFrame或Series中作为索引,其提供的方法和属性使得对多层结构数据的操作非常灵活和高效,包括切片、合并、重设索引等。
965-5、说明
无
965-6、用法
965-6-1、数据准备
无
965-6-2、代码示例
# 965、pandas.MultiIndex类
import pandas as pd
# 创建多个层级的索引
levels = [['A', 'B'], [1, 2]]
codes = [[0, 0, 1, 1], [0, 1, 0, 1]] # A1, A2, B1, B2
# 创建MultiIndex
multi_index = pd.MultiIndex(levels=levels, codes=codes, names=['Letter', 'Number'])
# 创建一个DataFrame,并使用MultiIndex
data = {'Value': [10, 20, 30, 40]}
df = pd.DataFrame(data, index=multi_index)
# 显示DataFrame
print("初始DataFrame:")
print(df)
# 选取A的所有数据
print("\n选择'A'的数据:")
print(df.loc['A'])
# 选择特定层级的值,例如'B'和1
print("\n选择'B'1的数据:")
print(df.loc[('B', 1)])
# 重设索引
df_reset = df.reset_index()
print("\n重设索引后的DataFrame:")
print(df_reset)
# 通过层级进行分组并计算均值
grouped = df.groupby(level='Letter').mean()
print("\n按字母分组计算均值:")
print(grouped)
965-6-3、结果输出
# 965、pandas.MultiIndex类
# 初始DataFrame:
# Value
# Letter Number
# A 1 10
# 2 20
# B 1 30
# 2 40
#
# 选择'A'的数据:
# Value
# Number
# 1 10
# 2 20
#
# 选择'B'1的数据:
# Value 30
# Name: (B, 1), dtype: int64
#
# 重设索引后的DataFrame:
# Letter Number Value
# 0 A 1 10
# 1 A 2 20
# 2 B 1 30
# 3 B 2 40
#
# 按字母分组计算均值:
# Value
# Letter
# A 15.0
# B 35.0
二、推荐阅读
1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
相关文章:
Python酷库之旅-第三方库Pandas(206)
目录 一、用法精讲 961、pandas.IntervalIndex.mid属性 961-1、语法 961-2、参数 961-3、功能 961-4、返回值 961-5、说明 961-6、用法 961-6-1、数据准备 961-6-2、代码示例 961-6-3、结果输出 962、pandas.IntervalIndex.length属性 962-1、语法 962-2、参数 …...
3.4CQU数学实验???
meshgrid 是一个用于生成网格点坐标的函数。它常用于在二维或三维空间中创建坐标网格,用于可视化和数据处理。 在二维情况下,meshgrid 函数接受两个一维数组作为输入,并返回两个二维数组,这两个数组中的元素分别表示了所有可能的…...
Linux(CentOS)开放端口/关闭端口
一、普通用户使用 sudo 操作,开放/关闭端口,80 1、检查端口是否开放 sudo firewall-cmd --zonepublic --query-port80/tcp 2、开放端口 sudo firewall-cmd --zonepublic --add-port80/tcp --permanent 3、重新加载(开放或关闭端口后都需…...
GreenDao适配AGP8.7+
升级配置 工具版本Android StudioLadybug 2024.2.1 Path2AGP8.7.2KPG1.8.21GGP3.3.1明细 classpath "com.android.tools.build:gradle:$agp_version"classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kgp_version"classpath "org.greenrobot:g…...
【前端】Typescript从入门到进阶
以下是 TypeScript 的常用知识点总结,涵盖了从基础到入门的内容,并配有代码示例: 1. TypeScript 基础 1.1 安装和配置 安装 TypeScript 并初始化配置文件: npm install -g typescript tsc --init 1.2 基本类型 TypeScript 提供…...
在 RHEL 8 | CentOS Linux release 8.5.2111上安装 Zabbix 6
1. 备份YUM源文件 cd /etc/yum.repos.d/ mkdir bak mv C* ./bak/ wget -O /etc/yum.repos.d/CentOS-Linux-BaseOS.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo yum clean all yum makecache2. 将 SELinux 设置为宽容模式,如下所示。 sudo s…...
光纤HDMI线怎么连接回音壁?
第一步:准备HDMI线、光纤线(TOSLINK线)、视频源设备、回音壁 第二步:连接HDMI线,找到视频源设备上的HDMI输出口,将HDMI线的一端插入这个接口,再把HDMI线的另一端插入回音壁的HDMI输入口。注意检…...
屏幕后期处理
1、屏幕后期处理效果 屏幕后期处理效果( Screen Post-Processing Effects)是一种在渲染管线的最后阶段应用的视觉效果,允许在场景渲染完成后对最终图像进行各种调整和效果处理,从而增强视觉体验 常见的屏幕后期处理效果有&#x…...
K8资源之endpoint资源EP资源
1 endpoint资源概述 endpoint资源在K8S中用来表s示vc与后端 Pod 之间的连接关系的对象。当创建svc时,svc根据标签是否相同或svc名字是否和ep名字相同,把svc和ip关联上。 删除svc时,会自动的删除同名的ep资源。 2 ep资源和svc的关联测试 […...
微软日志丢失事件敲响安全警钟
NEWS | 事件回顾 最近,全球最大的软件公司之一——微软,遭遇了一场罕见的日志丢失危机。据报告,从9月2日至9月19日,持续长达两周的时间里,微软的多项核心云服务,包括身份验证平台Microsoft Entra、安全信息…...
Qt生成应用程序exe
1. 将工程用MinGW编译器在release模式下编译,生成可执行文件XXX.exe,新建一个文件夹如:F:\Setup\minGW,把exe文件放到这个目录下。 2. 将该编译器的bin文件添加到PATH环境变量里:bin文件路径为:D:\Qt\Qt5.…...
C#中的HttpContent、HttpClientHandle、HttpWebRequest
C#中的HttpContent 在C#中,HttpContent 是 System.Net.Http 命名空间下的一个类,它是 HttpClient 类用来发送和接收HTTP内容的基础。HttpContent 表示HTTP请求或响应的正文内容,并且可以序列化和反序列化数据。 HttpContent 是一个抽象类&a…...
23.网工入门篇--------介绍一下园区网典型组网架构及案例实践
园区网典型组网架构主要分为小型、中型、大型三种类型,以下是详细介绍及相关案例实践: 小型园区网: 架构特点: 用户规模:适用于接入用户数量较少的场景,一般支持几个至几十个用户。覆盖范围:仅限…...
QT鼠标事件
QT鼠标事件 1.概述 这篇文章介绍如何使用事件和获取事件的信号 2.创建项目 创建一个widget类型项目,在widget.ui文件中添加一个label控件 然后在项目名称上右键选择Add new... 添加文件,选择 C Class 自定义类名Mylabel,选择基类Base …...
Ubuntu 的 ROS 操作系统turtlebot3环境搭建
引言 本文介绍如何在Ubuntu系统中为TurtleBot3配置ROS环境,包括安装和配置ROS Noetic的步骤,为PC端控制TurtleBot3提供操作指南。 安装和配置的过程分为PC设置、系统安装、依赖安装等部分,并在最后进行网络配置,确保PC端能够顺利…...
C++笔记---异常
1. 异常的概念 1.1 异常和错误 异常通常是指在程序运行中动态出现的非正常情况,这些情况往往是可以预见并可以在不停止程序的情况下动态地进行处理的。 错误通常是指那些会导致程序终止的,无法动态处理的非正常情况。例如,越界访问、栈溢出…...
Python 操作数据库:读取 Clickhouse 数据存入csv文件
import pandas as pd from clickhouse_driver import Client import timeit import logging import threading from threading import Lock from queue import Queue from typing import List, Dict, Set from contextlib import contextmanager import os import time# 配置参…...
如何找到系统中bert-base-uncased默认安装位置
问题: 服务器中无法连接huggingface,故需要自己将模型文件上传 ubuntu 可以按照这个链接下载 Bert下载和使用(以bert-base-uncased为例) - 会自愈的哈士奇 - 博客园 里面提供了giehub里面的链接 GitHub - google-research/be…...
在启动 Spring Boot 项目时,报找不到 slf4j 的错误
而且 tomcat 的启动信息不知道为什么输出出来了 问 AI 得到的解决方案: 将 pom.xml 中的如下配置替换成这样,排除这个插件 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring - boot - starter - …...
android-12-source-code--write-file-function
find /app4/lineage19_oneplus6/system/ -name "*.cpp" -type f | while read -r k ; do ( grep -i write $k | grep -i file && echo $k ;) ; done获得android::base::WriteStringToFile, 进一步修改 find /app4/lineage19_oneplus6/system/ -name &qu…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
