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

目录

一、用法精讲

986、pandas.MultiIndex.get_loc方法

986-1、语法

986-2、参数

986-3、功能

986-4、返回值

986-5、说明

986-6、用法

986-6-1、数据准备

986-6-2、代码示例

986-6-3、结果输出

987、pandas.MultiIndex.get_locs方法

987-1、语法

987-2、参数

987-3、功能

987-4、返回值

987-5、说明

987-6、用法

987-6-1、数据准备

987-6-2、代码示例

987-6-3、结果输出

988、pandas.MultiIndex.get_loc_level方法

988-1、语法

988-2、参数

988-3、功能

988-4、返回值

988-5、说明

988-6、用法

988-6-1、数据准备

988-6-2、代码示例

988-6-3、结果输出

989、pandas.MultiIndex.drop方法

989-1、语法

989-2、参数

989-3、功能

989-4、返回值

989-5、说明

989-6、用法

989-6-1、数据准备

989-6-2、代码示例

989-6-3、结果输出

990、pandas.MultiIndex.copy方法

990-1、语法

990-2、参数

990-3、功能

990-4、返回值

990-5、说明

990-6、用法

990-6-1、数据准备

990-6-2、代码示例

990-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

986、pandas.MultiIndex.get_loc方法
986-1、语法
python 复制代码
# 986、pandas.MultiIndex.get_loc方法
pandas.MultiIndex.get_loc(key)
Get location for a label or a tuple of labels.

The location is returned as an integer/slice or boolean mask.

Parameters:
key
label or tuple of labels (one for each level)
Returns:
int, slice object or boolean mask
If the key is past the lexsort depth, the return may be a boolean mask array, otherwise it is always a slice or int.
986-2、参数

986-2-1、key**(必需)****:**表示要查找的键,可以是单个值或一个元组,如果是单个值,表示查找该值在MultiIndex中的位置;如果是元组,表示查找对应的多级索引。

986-3、功能

返回给定键在MultiIndex中的位置,它可以用于快速定位多级索引中的特定项,通常在数据选择和切片操作中非常有用。

986-4、返回值

返回值是一个整数或切片对象,表示给定键在MultiIndex中的位置,如果找到该键,返回其对应的整数位置;如果是元组,返回一个切片对象,表示该键在多级索引中的范围;如果未找到该键,则会引发KeyError异常。

986-5、说明

986-6、用法
986-6-1、数据准备
python 复制代码
986-6-2、代码示例
python 复制代码
# 986、pandas.MultiIndex.get_loc方法
import pandas as pd
# 创建一个MultiIndex
arrays = [
    ['A', 'A', 'B', 'B'],
    [1, 2, 1, 2]
]
index = pd.MultiIndex.from_arrays(arrays, names=('letter', 'number'))
# 使用get_loc查找位置
loc_A1 = index.get_loc(('A', 1))
loc_B2 = index.get_loc(('B', 2))
print(loc_A1)
print(loc_B2)
986-6-3、结果输出
python 复制代码
# 986、pandas.MultiIndex.get_loc方法
# 0
# 3
987、pandas.MultiIndex.get_locs方法
987-1、语法
python 复制代码
# 987、pandas.MultiIndex.get_locs方法
pandas.MultiIndex.get_locs(seq)
Get location for a sequence of labels.

Parameters:
seq
label, slice, list, mask or a sequence of such
You should use one of the above for each level. If a level should not be used, set it to slice(None).

Returns:
numpy.ndarray
NumPy array of integers suitable for passing to iloc.
987-2、参数

987-2-1、seq**(必需)****:**一个元组或元组列表,用于定位多级索引的位置。

987-3、功能

根据给定的元组或元组序列查找对应的索引位置,返回与输入元组匹配的行的整数索引位置,支持部分匹配和精确匹配多级索引。

987-4、返回值

返回一个NumPy数组,包含匹配的行索引位置,如果没有匹配,则返回空数组。

987-5、说明

987-6、用法
987-6-1、数据准备
python 复制代码
987-6-2、代码示例
python 复制代码
# 987、pandas.MultiIndex.get_locs方法
import pandas as pd
mi = pd.MultiIndex.from_arrays([list('abb'), list('def')])
data = mi.get_locs('b')
print(data)
987-6-3、结果输出
python 复制代码
# 987、pandas.MultiIndex.get_locs方法
# [1 2]
988、pandas.MultiIndex.get_loc_level方法
988-1、语法
python 复制代码
# 988、pandas.MultiIndex.get_loc_level方法
pandas.MultiIndex.get_loc_level(key, level=0, drop_level=True)
Get location and sliced index for requested label(s)/level(s).

Parameters:
key
label or sequence of labels
level
int/level name or list thereof, optional
drop_level
bool, default True
If False, the resulting index will not drop any level.

Returns:
tuple
A 2-tuple where the elements :

Element 0: int, slice object or boolean array.

Element 1: The resulting sliced multiindex/index. If the key contains all levels, this will be None.
988-2、参数

988-2-1、key**(必需)****:**表示要查找的键,可以是单个值或一个值的元组,具体取决于索引的层数。

988-2-2、level**(可选,默认值为0)****:**整数或字符串,指定要查找的层级,可以使用层级的整数索引(从0开始)或层级名称。

988-2-3、drop_level**(可选,默认值为True)****:**布尔值,指定是否在返回结果中删除所查找的层级,如果为True,则返回的结果中不包含该层级;如果为False,则返回的结果中包含该层级。

988-3、功能

用于在多重索引(MultiIndex)中查找特定键的位置。

988-4、返回值

返回一个元组,包含两个元素:

**988-4-1、loc:**int或slice,指定键在索引中的位置或切片。

**988-4-2、indexer:**ndarray,指定键在该层级中的索引位置。

988-5、说明

988-6、用法
988-6-1、数据准备
python 复制代码
988-6-2、代码示例
python 复制代码
# 988、pandas.MultiIndex.get_loc_level方法
import pandas as pd
# 创建一个多重索引
arrays = [
    ['A', 'A', 'B', 'B'],
    [1, 2, 1, 2]
]
index = pd.MultiIndex.from_arrays(arrays, names=('letter', 'number'))
# 使用get_loc_level方法
loc, indexer = index.get_loc_level(('A', 1), level=0)
print(loc)
print(indexer)
988-6-3、结果输出
python 复制代码
# 988、pandas.MultiIndex.get_loc_level方法
# 0
# None
989、pandas.MultiIndex.drop方法
989-1、语法
python 复制代码
# 989、pandas.MultiIndex.drop方法
pandas.MultiIndex.drop(codes, level=None, errors='raise')
Make a new pandas.MultiIndex with the passed list of codes deleted.

Parameters:
codes
array-like
Must be a list of tuples when level is not specified.

level
int or level name, default None
errors
str, default 'raise'
Returns:
MultiIndex
989-2、参数

989-2-1、codes**(必需)****:**单个值或列表,表示要删除的索引代码,可以是单个代码,也可以是代码的列表。

989-2-2、level**(可选,默认值为None)****:**整数或字符串,指定要删除代码的级别,如果为None,则在所有级别中查找并删除指定的代码;如果指定了级别,则仅在该级别中查找并删除。

989-2-3、errors**(可选,默认值为'raise')****:**字符串,指定在找不到要删除的代码时的行为,可选值为:

  • **'​​​​​​​raise​​​​​​​':**如果找不到指定的代码,则引发错误。
  • ​​​​​​​'ignore​​​​​​​': 如果找不到指定的代码,则不执行任何操作。
989-3、功能

从MultiIndex中删除指定的索引代码,允许用户根据需要选择特定的级别进行删除。

989-4、返回值

返回一个新的MultiIndex对象,其中已删除指定的索引代码,原始的MultiIndex不会被修改。

989-5、说明

989-6、用法
989-6-1、数据准备
python 复制代码
989-6-2、代码示例
python 复制代码
# 989、pandas.MultiIndex.drop方法
import pandas as pd
# 创建一个MultiIndex
arrays = [
    ['A', 'A', 'B', 'B'],
    [1, 2, 1, 2]
]
index = pd.MultiIndex.from_arrays(arrays, names=('letters', 'numbers'))
# 删除代码
new_index = index.drop(codes=1, level='numbers')
print(new_index)
989-6-3、结果输出
python 复制代码
# 989、pandas.MultiIndex.drop方法
# MultiIndex([('A', 2),
#             ('B', 2)],
#            names=['letters', 'numbers'])
990、pandas.MultiIndex.copy方法
990-1、语法
python 复制代码
# 990、pandas.MultiIndex.copy方法
pandas.MultiIndex.copy(names=None, deep=False, name=None)
Make a copy of this object.

Names, dtype, levels and codes can be passed and will be set on new copy.

Parameters:
names
sequence, optional
deep
bool, default False
name
Label
Kept for compatibility with 1-dimensional Index. Should not be used.

Returns:
MultiIndex
Notes

In most cases, there should be no functional difference from using deep, but if deep is passed it will attempt to deepcopy. This could be potentially expensive on large MultiIndex objects.
990-2、参数

990-2-1、names**(可选,默认值为None)****:**用于指定新的索引名称列表,如果为None,则保留原索引名称。

990-2-2、deep**(可选,默认值为False)****:**布尔值,控制拷贝的深度:

  • **False:**浅拷贝,只复制索引对象的引用
  • **True:**深拷贝,完全复制索引对象及其数据

990-2-3、name**(可选,默认值为None)****:**设置新索引的名称。

990-3、功能

创建MultiIndex的一个副本,可以选择性地修改索引名称。

990-4、返回值

返回一个新的MultiIndex对象。

990-5、说明

990-6、用法
990-6-1、数据准备
python 复制代码
990-6-2、代码示例
python 复制代码
# 990、pandas.MultiIndex.copy方法
import pandas as pd
# 创建原MultiIndex
mi = pd.MultiIndex.from_arrays([[1,2],[3,4]], names=['a', 'b'])
# 浅拷贝
mi_copy1 = mi.copy()
# 深拷贝并修改名称
mi_copy2 = mi.copy(names=['x', 'y'], deep=True)
print(mi_copy1)
print(mi_copy2)
990-6-3、结果输出
python 复制代码
# 990、pandas.MultiIndex.copy方法
# MultiIndex([(1, 3),
#             (2, 4)],
#            names=['a', 'b'])
# MultiIndex([(1, 3),
#             (2, 4)],
#            names=['x', 'y'])

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
相关推荐
18号房客几秒前
计算机视觉-人工智能(AI)入门教程一
人工智能·深度学习·opencv·机器学习·计算机视觉·数据挖掘·语音识别
百家方案2 分钟前
「下载」智慧产业园区-数字孪生建设解决方案:重构产业全景图,打造虚实结合的园区数字化底座
大数据·人工智能·智慧园区·数智化园区
爱学习的白杨树5 分钟前
MyBatis的一级、二级缓存
java·开发语言·spring
云起无垠9 分钟前
“AI+Security”系列第4期(一)之“洞” 见未来:AI 驱动的漏洞挖掘新范式
人工智能
OTWOL10 分钟前
两道数组有关的OJ练习题
c语言·开发语言·数据结构·c++·算法
问道飞鱼14 分钟前
【前端知识】强大的js动画组件anime.js
开发语言·前端·javascript·anime.js
拓端研究室14 分钟前
R基于贝叶斯加法回归树BART、MCMC的DLNM分布滞后非线性模型分析母婴PM2.5暴露与出生体重数据及GAM模型对比、关键窗口识别
android·开发语言·kotlin
Code成立15 分钟前
《Java核心技术I》Swing的网格包布局
java·开发语言·swing
Auc2420 分钟前
使用scrapy框架爬取微博热搜榜
开发语言·python
QQ同步助手27 分钟前
C++ 指针进阶:动态内存与复杂应用
开发语言·c++