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

目录

一、用法精讲

971、pandas.MultiIndex.set_levels方法

971-1、语法

971-2、参数

971-3、功能

971-4、返回值

971-5、说明

971-6、用法

971-6-1、数据准备

971-6-2、代码示例

971-6-3、结果输出

972、pandas.MultiIndex.from_arrays类方法

972-1、语法

972-2、参数

972-3、功能

972-4、返回值

972-5、说明

972-6、用法

972-6-1、数据准备

972-6-2、代码示例

972-6-3、结果输出

973、pandas.MultiIndex.from_tuples类方法

973-1、语法

973-2、参数

973-3、功能

973-4、返回值

973-5、说明

973-6、用法

973-6-1、数据准备

973-6-2、代码示例

973-6-3、结果输出

974、pandas.MultiIndex.from_product类方法

974-1、语法

974-2、参数

974-3、功能

974-4、返回值

974-5、说明

974-6、用法

974-6-1、数据准备

974-6-2、代码示例

974-6-3、结果输出

975、pandas.MultiIndex.from_frame类方法

975-1、语法

975-2、参数

975-3、功能

975-4、返回值

975-5、说明

975-6、用法

975-6-1、数据准备

975-6-2、代码示例

975-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

971、pandas.MultiIndex.set_levels方法
971-1、语法
python 复制代码
# 971、pandas.MultiIndex.set_levels方法
pandas.MultiIndex.set_levels(levels, *, level=None, verify_integrity=True)
Set new levels on MultiIndex. Defaults to returning new index.

Parameters:
levels
sequence or list of sequence
New level(s) to apply.

level
int, level name, or sequence of int/level names (default None)
Level(s) to set (None for all levels).

verify_integrity
bool, default True
If True, checks that levels and codes are compatible.

Returns:
MultiIndex
971-2、参数

971-2-1、levels**(必需)****:**列表或数组,用于替换多重索引的指定级别的新值,可以传入单个列表或多个列表。

971-2-2、level**(可选,默认值为None)****:**整数、整数列表或None,指定特定级别时,仅修改对应的层级,可以是单个整数或整数列表,当为None时,替换所有级别。

971-2-3、verify_integrity**(可选,默认值为True)****:**布尔值,是否检查新的级别值是否有效和一致。

971-3、功能

修改多重索引的特定级别或全部级别的值,允许灵活地重新设置多重索引的层级。

971-4、返回值

返回一个新的MultiIndex对象,原始MultiIndex对象不会被修改。

971-5、说明

971-6、用法
971-6-1、数据准备
python 复制代码
971-6-2、代码示例
python 复制代码
# 971、pandas.MultiIndex.set_levels方法
import pandas as pd
# 创建多重索引
index = pd.MultiIndex.from_arrays([
    ['A', 'A', 'B', 'B'],
    [1, 2, 1, 2]
])
# 修改第一级别
new_index = index.set_levels(['X', 'Y'], level=0)
# 修改全部级别
new_index = index.set_levels([['X', 'Y'], [3, 4]])
print(new_index)
971-6-3、结果输出
python 复制代码
# 971、pandas.MultiIndex.set_levels方法
# MultiIndex([('X', 3),
#             ('X', 4),
#             ('Y', 3),
#             ('Y', 4)],
#            )
972、pandas.MultiIndex.from_arrays类方法
972-1、语法
python 复制代码
# 972、pandas.MultiIndex.from_arrays类方法
classmethod pandas.MultiIndex.from_arrays(arrays, sortorder=None, names=_NoDefault.no_default)
Convert arrays to MultiIndex.

Parameters:
arrays
list / sequence of array-likes
Each array-like gives one level's value for each data point. len(arrays) is the number of levels.

sortorder
int or None
Level of sortedness (must be lexicographically sorted by that level).

names
list / sequence of str, optional
Names for the levels in the index.

Returns:
MultiIndex
972-2、参数

972-2-1、arrays**(必需)****:**列表或数组的列表,用于构建多重索引的数组,每个数组代表一个级别的索引。

972-2-2、sortorder**(可选,默认值None)****:**整数或None,指定索引的排序顺序,可以是一个整数,表示要排序的级别的索引,如果为 None,则不进行排序。

972-2-3、names**(可选)****:**字符串列表或None,为每个级别指定名称,如果不提供,则级别将没有名称。

972-3、功能

创建一个多重索引对象,允许在数据框中使用多层索引。

972-4、返回值

返回一个MultiIndex对象。

972-5、说明

972-6、用法
972-6-1、数据准备
python 复制代码
972-6-2、代码示例
python 复制代码
# 972、pandas.MultiIndex.from_arrays类方法
import pandas as pd
# 创建多重索引
arrays = [
    ['A', 'A', 'B', 'B'],
    [1, 2, 1, 2]
]
# 使用from_arrays创建MultiIndex
multi_index = pd.MultiIndex.from_arrays(arrays, names=['letter', 'number'])
# 输出结果
print(multi_index)
972-6-3、结果输出
python 复制代码
# 972、pandas.MultiIndex.from_arrays类方法
# MultiIndex([('A', 1),
#             ('A', 2),
#             ('B', 1),
#             ('B', 2)],
#            names=['letter', 'number'])
973、pandas.MultiIndex.from_tuples类方法
973-1、语法
python 复制代码
# 973、pandas.MultiIndex.from_tuples类方法
classmethod pandas.MultiIndex.from_tuples(tuples, sortorder=None, names=None)
Convert list of tuples to MultiIndex.

Parameters:
tuples
list / sequence of tuple-likes
Each tuple is the index of one row/column.

sortorder
int or None
Level of sortedness (must be lexicographically sorted by that level).

names
list / sequence of str, optional
Names for the levels in the index.

Returns:
MultiIndex
973-2、参数

973-2-1、tuples**(必需)****:**可迭代的元组列表,包含用于构建多重索引的元组,每个元组表示索引的一层。

973-2-2、sortorder**(可选,默认值为None)****:**整数或None,指定要排序的索引级别的顺序,如果为None,则不进行排序。

973-2-3、names**(可选,默认值为None)****:**字符串列表或None,为每个级别指定名称,如果不提供,则级别将没有名称。

973-3、功能

创建一个多重索引对象,使数据框中能够使用多层级别的索引。

973-4、返回值

返回一个MultiIndex对象。

973-5、说明

973-6、用法
973-6-1、数据准备
python 复制代码
973-6-2、代码示例
python 复制代码
# 973、pandas.MultiIndex.from_tuples类方法
import pandas as pd
# 创建多重索引的元组
tuples = [
    ('A', 1),
    ('A', 2),
    ('B', 1),
    ('B', 2)
]
# 使用from_tuples创建MultiIndex
multi_index = pd.MultiIndex.from_tuples(tuples, names=['letter', 'number'])
# 输出结果
print(multi_index)
973-6-3、结果输出
python 复制代码
# 973、pandas.MultiIndex.from_tuples类方法
# MultiIndex([('A', 1),
#             ('A', 2),
#             ('B', 1),
#             ('B', 2)],
#            names=['letter', 'number'])
974、pandas.MultiIndex.from_product类方法
974-1、语法
python 复制代码
# 974、pandas.MultiIndex.from_product类方法
classmethod pandas.MultiIndex.from_product(iterables, sortorder=None, names=_NoDefault.no_default)
Make a MultiIndex from the cartesian product of multiple iterables.

Parameters:
iterables
list / sequence of iterables
Each iterable has unique labels for each level of the index.

sortorder
int or None
Level of sortedness (must be lexicographically sorted by that level).

names
list / sequence of str, optional
Names for the levels in the index. If not explicitly provided, names will be inferred from the elements of iterables if an element has a name attribute.

Returns:
MultiIndex
974-2、参数

974-2-1、iterables**(必需)****:**可迭代对象的列表,提供多个可迭代对象,这些对象将用于生成笛卡尔积。

974-2-2、sortorder**(可选,默认值为None)****:**整数或None,指定要排序的索引级别的顺序,如果为None,则不进行排序。

974-2-3、names**(可选)****:**字符串列表或None,为每个级别指定名称,如果不提供,则级别将没有名称。

974-3、功能

创建一个多重索引对象,该对象是通过给定的可迭代对象生成的所有可能组合。

974-4、返回值

返回一个MultiIndex对象。

974-5、说明

974-6、用法
974-6-1、数据准备
python 复制代码
974-6-2、代码示例
python 复制代码
# 974、pandas.MultiIndex.from_product类方法
import pandas as pd
# 创建多个可迭代对象
iterables = [
    ['A', 'B'],
    [1, 2, 3]
]
# 使用from_product创建MultiIndex
multi_index = pd.MultiIndex.from_product(iterables, names=['letter', 'number'])
# 输出结果
print(multi_index)
974-6-3、结果输出
python 复制代码
# 974、pandas.MultiIndex.from_product类方法
# MultiIndex([('A', 1),
#             ('A', 2),
#             ('A', 3),
#             ('B', 1),
#             ('B', 2),
#             ('B', 3)],
#            names=['letter', 'number'])
975、pandas.MultiIndex.from_frame类方法
975-1、语法
python 复制代码
# 975、pandas.MultiIndex.from_frame类方法
classmethod pandas.MultiIndex.from_frame(df, sortorder=None, names=None)
Make a MultiIndex from a DataFrame.

Parameters:
df
DataFrame
DataFrame to be converted to MultiIndex.

sortorder
int, optional
Level of sortedness (must be lexicographically sorted by that level).

names
list-like, optional
If no names are provided, use the column names, or tuple of column names if the columns is a MultiIndex. If a sequence, overwrite names with the given sequence.

Returns:
MultiIndex
The MultiIndex representation of the given DataFrame.
975-2、参数

975-2-1、df**(必需)****:**DataFrame,表示要从中提取索引的DataFrame,它的列将被用作多重索引的级别。

975-2-2、sortorder**(可选,默认值为None)****:**整数或None,指定要排序的索引级别的顺序,如果为None,则不进行排序。

975-2-3、names**(可选,默认值为None)****:**字符串列表或None,为每个级别指定名称,如果不提供,则级别将没有名称。

975-3、功能

用于从一个DataFrame中提取级别并创建一个多重索引,该方法对于处理具有层次结构的索引非常有用,通常用于将DataFrame的列转换为MultiIndex的级别。

975-4、返回值

返回一个MultiIndex对象。

975-5、说明

975-6、用法
975-6-1、数据准备
python 复制代码
975-6-2、代码示例
python 复制代码
# 975、pandas.MultiIndex.from_frame类方法
import pandas as pd
# 创建一个DataFrame
data = {
    'A': ['foo', 'foo', 'bar', 'bar'],
    'B': ['one', 'two', 'one', 'two'],
    'C': [1, 2, 3, 4]
}
df = pd.DataFrame(data)
# 使用from_frame创建MultiIndex
multi_index = pd.MultiIndex.from_frame(df[['A', 'B']], names=['first_level', 'second_level'])
# 输出结果
print(multi_index)
975-6-3、结果输出
python 复制代码
# 975、pandas.MultiIndex.from_frame类方法
# MultiIndex([('foo', 'one'),
#             ('foo', 'two'),
#             ('bar', 'one'),
#             ('bar', 'two')],
#            names=['first_level', 'second_level'])

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
相关推荐
玄同765几秒前
Python 后端三剑客:FastAPI/Flask/Django 对比与 LLM 开发选型指南
人工智能·python·机器学习·自然语言处理·django·flask·fastapi
m0_694845571 分钟前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
慢半拍iii2 分钟前
ops-nn算子库深度解析:昇腾神经网络计算的基础
人工智能·深度学习·神经网络·ai·cann
程序员猫哥_3 分钟前
HTML 生成网页工具推荐:从手写代码到 AI 自动生成网页的进化路径
前端·人工智能·html
哈__4 分钟前
CANN优化Diffusion扩散模型推理:去噪过程与采样策略加速
人工智能
永远都不秃头的程序员(互关)6 分钟前
CANN DVPP赋能AIGC:硬件加速视觉处理,打造极致生成式视觉工作流
人工智能·aigc
JustDI-CM6 分钟前
AI学习笔记-提示词工程
人工智能·笔记·学习
春日见7 分钟前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
悟纤7 分钟前
学习与专注音乐流派 (Study & Focus Music):AI 音乐创作终极指南 | Suno高级篇 | 第33篇
大数据·人工智能·深度学习·学习·suno·suno api
饭饭大王6668 分钟前
迈向智能体时代——构建基于 `ops-transformer` 的可持续 AI 系统
人工智能·深度学习·transformer