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

目录

一、用法精讲

976、pandas.MultiIndex.set_codes方法

976-1、语法

976-2、参数

976-3、功能

976-4、返回值

976-5、说明

976-6、用法

976-6-1、数据准备

976-6-2、代码示例

976-6-3、结果输出

977、pandas.MultiIndex.to_frame方法

977-1、语法

977-2、参数

977-3、功能

977-4、返回值

977-5、说明

977-6、用法

977-6-1、数据准备

977-6-2、代码示例

977-6-3、结果输出

978、pandas.MultiIndex.to_flat_index方法

978-1、语法

978-2、参数

978-3、功能

978-4、返回值

978-5、说明

978-6、用法

978-6-1、数据准备

978-6-2、代码示例

978-6-3、结果输出

979、pandas.MultiIndex.sortlevel方法

979-1、语法

979-2、参数

979-3、功能

979-4、返回值

979-5、说明

979-6、用法

979-6-1、数据准备

979-6-2、代码示例

979-6-3、结果输出

980、pandas.MultiIndex.droplevel方法

980-1、语法

980-2、参数

980-3、功能

980-4、返回值

980-5、说明

980-6、用法

980-6-1、数据准备

980-6-2、代码示例

980-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

976、pandas.MultiIndex.set_codes方法
976-1、语法
# 976、pandas.MultiIndex.set_codes方法
pandas.MultiIndex.set_codes(codes, *, level=None, verify_integrity=True)
Set new codes on MultiIndex. Defaults to returning new index.Parameters:
codes
sequence or list of sequence
New codes 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:
new index (of same type and class…etc) or None
The same type as the caller or None if inplace=True.
976-2、参数

976-2-1、codes(必需)表示包含新代码的整数数组或数组的列表,每个数组中的整数表示特定级别的新代码,数组的长度必须与MultiIndex的长度相同。

976-2-2、level(可选,默认值为None)整数、整数列表或级别名称,指定要更新的级别,如果未提供,则默认为所有级别。

976-2-3、verify_integrity(可选,默认值为True)布尔值,如果为True,则在更新代码后验证MultiIndex的完整性,如果为False,则跳过验证步骤。

976-3、功能

        用于更新MultiIndex对象的级别代码,而不改变级别名称和级别数,允许你在不改变索引结构的情况下,灵活地更新索引内容。

976-4、返回值

        该方法会原地更新MultiIndex对象,不会返回新对象,因此,返回值为None。

976-5、说明

        无

976-6、用法
976-6-1、数据准备
976-6-2、代码示例
# 976、pandas.MultiIndex.set_codes方法
import pandas as pd
# 创建一个MultiIndex对象
arrays = [[1, 2, 3], ['red', 'green', 'blue']]
index = pd.MultiIndex.from_arrays(arrays, names=('number', 'color'))
print("原始MultiIndex:")
print(index)
# 使用set_codes更新级别代码
new_codes = [[0, 1, 2], [2, 1, 0]]
index.set_codes(new_codes, level=[0, 1], verify_integrity=False)
print("更新后的MultiIndex:")
print(index)
976-6-3、结果输出
# 976、pandas.MultiIndex.set_codes方法
# 原始MultiIndex:
# MultiIndex([(1,   'red'),
#             (2, 'green'),
#             (3,  'blue')],
#            names=['number', 'color'])
# 更新后的MultiIndex:
# MultiIndex([(1,   'red'),
#             (2, 'green'),
#             (3,  'blue')],
#            names=['number', 'color'])
977、pandas.MultiIndex.to_frame方法
977-1、语法
# 977、pandas.MultiIndex.to_frame方法
pandas.MultiIndex.to_frame(index=True, name=_NoDefault.no_default, allow_duplicates=False)
Create a DataFrame with the levels of the MultiIndex as columns.Column ordering is determined by the DataFrame constructor with data as a dict.Parameters:
indexbool, default True
Set the index of the returned DataFrame as the original MultiIndex.namelist / sequence of str, optional
The passed names should substitute index level names.allow_duplicatesbool, optional default False
Allow duplicate column labels to be created.New in version 1.5.0.Returns:
DataFrame
977-2、参数

977-2-1、index(可选,默认值为True)布尔值,如果设置为True,则将MultiIndex作为DataFrame 的索引;如果设置为False,则将MultiIndex作为DataFrame的列。

977-2-2、name(可选)array-like,用于指定生成的DataFrame列的名称,如果设置为None,则使用MultiIndex的层级名称。

977-2-3、allow_duplicates(可选,默认值为False)布尔值,如果设置为True,则允许MultiIndex中存在重复的名称;如果设置为False,则不允许重复的名称。

977-3、功能

        将多层次索引(MultiIndex)转换为一个DataFrame,转换后的DataFrame可以更方便地进行数据操作和分析。

977-4、返回值

        返回一个DataFrame,其中包含MultiIndex的内容,如果index参数设置为True,则DataFrame的索引将与原始MultiIndex相同;如果设置为False,则DataFrame的列将包含MultiIndex的内容。

977-5、说明

        无

977-6、用法
977-6-1、数据准备
977-6-2、代码示例
# 977、pandas.MultiIndex.to_frame方法
import pandas as pd
arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'],['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']
]
index = pd.MultiIndex.from_arrays(arrays, names=('first', 'second'))
df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 6, 7, 8]}, index=index)
print(df)
df_index = index.to_frame(index=False, name=['level_1', 'level_2'])
print(df_index)
977-6-3、结果输出
# 977、pandas.MultiIndex.to_frame方法
#               A
# first second   
# bar   one     1
#       two     2
# baz   one     3
#       two     4
# foo   one     5
#       two     6
# qux   one     7
#       two     8
#   level_1 level_2
# 0     bar     one
# 1     bar     two
# 2     baz     one
# 3     baz     two
# 4     foo     one
# 5     foo     two
# 6     qux     one
# 7     qux     two
978、pandas.MultiIndex.to_flat_index方法
978-1、语法
# 978、pandas.MultiIndex.to_flat_index方法
pandas.MultiIndex.to_flat_index()
Convert a MultiIndex to an Index of Tuples containing the level values.Returns:
pd.Index
Index with the MultiIndex data represented in Tuples.
978-2、参数

        无

978-3、功能

        将MultiIndex转换为一个扁平的Index对象。

978-4、返回值

        一个新的Index对象,其中MultiIndex的各个层次的值被连接在一起,形成了一个新的Index。

978-5、说明

        无

978-6、用法
978-6-1、数据准备
978-6-2、代码示例
# 978、pandas.MultiIndex.to_flat_index方法
import pandas as pd
# 创建一个MultiIndex对象
multi_index = pd.MultiIndex.from_tuples([('A', 1), ('A', 2), ('B', 1), ('B', 2)])
# 将MultiIndex转换为扁平的Index对象
flat_index = multi_index.to_flat_index()
print(flat_index)
978-6-3、结果输出
# 978、pandas.MultiIndex.to_flat_index方法
# Index([('A', 1), ('A', 2), ('B', 1), ('B', 2)], dtype='object')
979、pandas.MultiIndex.sortlevel方法
979-1、语法
# 979、pandas.MultiIndex.sortlevel方法
pandas.MultiIndex.sortlevel(level=0, ascending=True, sort_remaining=True, na_position='first')
Sort MultiIndex at the requested level.The result will respect the original ordering of the associated factor at that level.Parameters:
levellist-like, int or str, default 0
If a string is given, must be a name of the level. If list-like must be names or ints of levels.ascendingbool, default True
False to sort in descending order. Can also be a list to specify a directed ordering.sort_remainingsort by the remaining levels after level
na_position{‘first’ or ‘last’}, default ‘first’
Argument ‘first’ puts NaNs at the beginning, ‘last’ puts NaNs at the end.New in version 2.1.0.Returns:
sorted_index
pd.MultiIndex
Resulting index.indexer
np.ndarray[np.intp]
Indices of output values in original index.
979-2、参数

979-2-1、level(可选,默认值为0)表示需要排序的级别,可以是整数或者级别名称。

979-2-2、ascending(可选,默认值为True)排序顺序,True为升序,False为降序。

979-2-3、sort_remaining(可选,默认值为True)是否对其他级别进行排序。

979-2-4、na_position(可选,默认值为'first')缺失值的位置,可以是'first'或'last'。

979-3、功能

        对MultiIndex的指定级别进行排序,排序后,其他级别的顺序保持不变。

979-4、返回值

        返回一个新的MultiIndex对象,包含排序后的索引,原来的MultiIndex对象保持不变。

979-5、说明

        无

979-6、用法
979-6-1、数据准备
979-6-2、代码示例
# 979、pandas.MultiIndex.sortlevel方法
import pandas as pd
# 创建一个MultiIndex
arrays = [['foo', 'bar', 'foo', 'bar','foo', 'bar', 'foo', 'foo'],['one', 'one', 'two', 'three','two', 'two', 'one', 'three'],['small', 'large', 'large', 'large','small', 'small', 'large', 'small']]
index = pd.MultiIndex.from_arrays(arrays, names=['first', 'second', 'third'])
# 打印原始的MultiIndex
print("原始MultiIndex:")
print(index)
# 对'second'级别进行升序排序
index_sorted = index.sortlevel(level=1, ascending=True)
# 打印排序后的MultiIndex
print("\n排序后的MultiIndex:")
print(index_sorted)
979-6-3、结果输出
# 979、pandas.MultiIndex.sortlevel方法
# 原始MultiIndex:
# MultiIndex([('foo',   'one', 'small'),
#             ('bar',   'one', 'large'),
#             ('foo',   'two', 'large'),
#             ('bar', 'three', 'large'),
#             ('foo',   'two', 'small'),
#             ('bar',   'two', 'small'),
#             ('foo',   'one', 'large'),
#             ('foo', 'three', 'small')],
#            names=['first', 'second', 'third'])
# 
# 排序后的MultiIndex:
# (MultiIndex([('bar',   'one', 'large'),
#             ('foo',   'one', 'large'),
#             ('foo',   'one', 'small'),
#             ('bar', 'three', 'large'),
#             ('foo', 'three', 'small'),
#             ('bar',   'two', 'small'),
#             ('foo',   'two', 'large'),
#             ('foo',   'two', 'small')],
#            names=['first', 'second', 'third']), array([1, 6, 0, 3, 7, 5, 2, 4], dtype=int64))
980、pandas.MultiIndex.droplevel方法
980-1、语法
# 980、pandas.MultiIndex.droplevel方法
pandas.MultiIndex.droplevel(level=0)
Return index with requested level(s) removed.If resulting index has only 1 level left, the result will be of Index type, not MultiIndex. The original index is not modified inplace.Parameters:
level
int, str, or list-like, default 0
If a string is given, must be the name of a level If list-like, elements must be names or indexes of levels.Returns:
Index or MultiIndex
980-2、参数

980-2-1、level(可选,默认值为0)可以接受以下类型的参数:

  • int或int列表:表示要删除的索引级别的位置(从0开始计数)
  • str或str列表:表示要删除的索引级别的名称
980-3、功能

        从多级索引(MultiIndex)中删除指定级别的索引,可以移除一个或多个索引级别。

980-4、返回值

        返回一个新的Index或MultiIndex对象,如果删除后只剩一个级别,返回普通的Index;如果还有多个级别,返回新的MultiIndex。

980-5、说明

        无

980-6、用法
980-6-1、数据准备
980-6-2、代码示例
# 980、pandas.MultiIndex.droplevel方法
import pandas as pd
# 创建多级索引
arrays = [['A', 'A', 'B', 'B'], [1, 2, 1, 2]]
index = pd.MultiIndex.from_arrays(arrays, names=['first', 'second'])
# 删除第一级索引
new_index = index.droplevel(0)
print(new_index)  
# 通过名称删除索引
new_index = index.droplevel('first')
print(new_index)
# 删除多个级别
multi_level = pd.MultiIndex.from_arrays([['A', 'A', 'B', 'B'],[1, 2, 1, 2],['x', 'y', 'x', 'y']])
new_multi = multi_level.droplevel([0, 2])
print(new_multi)
980-6-3、结果输出
# 980、pandas.MultiIndex.droplevel方法
# Index([1, 2, 1, 2], dtype='int64', name='second')
# Index([1, 2, 1, 2], dtype='int64', name='second')
# Index([1, 2, 1, 2], dtype='int64')

二、推荐阅读

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

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

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

相关文章

SQL 窗口函数

窗口函数用于在不改变查询结果集行数的情况下,对每一行执行聚合计算或其他复杂的计算,可以跨行计算。 随着窗口函数的出现,无须再使用关联子查询。窗口函数的可读性很好,代码也很简洁。 1 实践 1.1 营业额年度变化 需求&#…

36.Redis核心设计原理

本文针对前面的讲解做一次总结 1.Redis基本特性 1.非关系型的键值对数据库,可以根据键以O(1)的时间复杂度取出或插入关联值 2.Redis的数据是存在内存中的 3.键值对中键的类型可以是字符串,整型,浮点型等,且键是唯一的 4.键值对中…

《人工智能网络安全现状(2024)》深度解读:机遇、挑战与应对策略

在当今数字化浪潮汹涌澎湃的时代,人工智能(AI)与网络安全已然深度交融,二者相互作用所塑造的发展态势正深刻重塑着我们的信息安全格局。《人工智能网络安全现状(2024)》这份报告恰似一盏明灯,为…

光控资本 :股票支撑位是什么?股票支撑位怎么找?

股票支撑位是指在股票价格的前史K线走势有两次或者两次以上,出现下跌到某一方位,股票就出现反弹的走势,则投资者可以把这个方位称为支撑位,支撑位阐明下方托单较多,个股无法持续下跌,在托单的影响下&#x…

网站小程序app怎么查有没有备案?

网站小程序app怎么查有没有备案?只需要官方一个网址就可以,工信部备案查询官网地址有且只有一个,百度搜索 "ICP备案查询" 找到官方gov.cn网站即可查询! 注:网站小程序app备案查询,可通过输入单位…

STM32+AI语音识别智能家居系统

基于 STM32 和 AI 语音识别的智能家居系统的详细硬件和软件设计,包括各个模块的详细描述和代码示例。 一、硬件设计 1. 微控制器(STM32): 选择 STM32F7 系列或更高性能的芯片,如 STM32F767ZIT6,以满足处理…

【初阶一】初识c语言

【初阶一】初识c语言 一、为什么学C语言?二、学习前的准备1.搭建编译环境以及使用2.代码库GitHub/Gitee创建以及使用3.写博客的作用以及教学 三、个人感悟 一、为什么学C语言? C语言是一门经久不衰的计算机编程语言,有句话叫:万物…

Linux DRM 那些事 - HDMI 接口 DTS 配置

本文基于RockPI 4A单板Debian系统 Linux 4.4 内核介绍DRM框架HDMI接口DTS配置。 在DTS中主要实现:HDMI的使能、VOP绑定、IOMUX引脚配置和HDMI控制器配置。 一、HDMI 配置 文件:arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi #include "rk3…

QT仿QQ聊天项目,第三节,实现聊天界面

一,界面控件示意图 界面主要由按钮QPushButton,标签QLabel,列表QListWidget 要注意的是QListWidget既是实现好友列表的控件,也是实现聊天气泡的控件 二,控件样式 QPushButton#btn_name {border:none;}QPushButton#btn_close {border:1px;bac…

前端学习八股资料CSS(二)

更多详情:爱米的前端小笔记,更多前端内容,等你来看!这些都是利用下班时间整理的,整理不易,大家多多👍💛➕🤔哦!你们的支持才是我不断更新的动力!找…

项目笔记:在stm32f103c8上用DMA控制串口收发

一、传统串口收发与引入DMA控制的区别 传统串口收发每一步都经过CPU处理和控制,当总线数据量大且频繁时CPU要反复地进入中断中处理,而引入DMA的差异就在于DMA会自动处理这个过程,并不需要占用CPU。 二、在不同芯片上所包含的DMA数量不同 对于…

基于SpringBoot的“原创歌曲分享平台”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“原创歌曲分享平台”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 平台功能结构图 平台首页界面图 用户注册界面…

CLion配置QT开发环境

一、将qmake工程转为cmake工程(方法一:用工具转换并做适当修改) 1、工具链接:链接:https://pan.baidu.com/s/1grW2QY3sW8X2JaHWM_ePPw 提取码:7at4 工具源码:https://github.com/milahu/qmake2cmake 2、执行…

【动手学电机驱动】 STM32-FOC(7)基于 MCSDK6.0 控制与调试速度环

STM32-FOC(1)STM32 电机控制的软件开发环境 STM32-FOC(2)STM32 导入和创建项目 STM32-FOC(3)STM32 三路互补 PWM 输出 STM32-FOC(4)IHM03 电机控制套件介绍 STM32-FOC(5&…

力扣 LeetCode 142. 环形链表II(Day2:链表)

解题思路&#xff1a; 使用set判断是否重复添加&#xff0c;如果set加入不进去证明之前到达过该节点&#xff0c;有环 public class Solution {public ListNode detectCycle(ListNode head) {Set<ListNode> set new HashSet<>();ListNode cur head;while (cur …

基于Ubuntu2410脚本搭建OpenStack-D版

openstack 初始化环境安装数据库、memcahe、rabbitmq等服务安装keystone服务安装glance服务安装placement服务安装nova服务安装neutron服务安装horizon服务启动云主机 本次实验使用单节点搭建&#xff0c;Ubuntu2410系统&#xff1a;搭建openstack-D版&#xff0c;采用ovs网络组…

Vue 3 在现代前端开发中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 Vue 3 在现代前端开发中的应用 Vue 3 在现代前端开发中的应用 Vue 3 在现代前端开发中的应用 引言 Vue 3 概述 定义与原理 发展历…

QT鼠标事件

QT鼠标事件 1.概述 这篇文章介绍如何使用事件和获取事件的信号 2.创建项目 创建一个widget类型项目&#xff0c;在widget.ui文件中添加一个label控件 然后在项目名称上右键选择Add new... 添加文件&#xff0c;选择 C Class 自定义类名Mylabel&#xff0c;选择基类Base …

VUE tab栏选中状态与滚动项展示状态对应

实现效果 实现思路 记录滚动容器、滚动项的ref点击某一项tab时&#xff0c;滚动对应项到界面上监听滚动容器滚动&#xff0c;计算展示在界面的滚动项&#xff0c;选中对应tab项 关键代码 html <!-- tab栏 --> <a-tabs id"template-tab" v-model:activeK…

手动安装Ubuntu系统中的network-manager包(其它包同理)

自己手闲把系统中的network-manager包给删了&#xff0c;导致的结果就是Ubuntu系统彻底没有网络。结果再装network-manager时&#xff0c;没有网络根本装不了&#xff0c;网上的方法都试了也没用&#xff0c;然后就自己源码装&#xff0c;这篇文章就是记录一下怎么手动下载包然…