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…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...

2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...