当前位置: 首页 > news >正文

Pandas高级操作:多级索引、窗口函数、数据透视表等

        在数据处理和分析中,pandas库提供了强大的功能,支持从简单到复杂的数据操作。本文将介绍一些pandas的高级操作,包括多级索引(MultiIndex)、窗口函数(Window Functions)、数据透视表与复杂聚合、数据合并与连接、高级数据变换以及时间序列数据的高级处理。

1. 多级索引(MultiIndex)

多级索引(MultiIndex)是pandas中一个非常有用的功能,它允许我们在一个轴上拥有多个(两个以上)索引级别。这对于处理具有层次结构的数据非常有用,例如,我们可以同时按厂商和产品对销售数据进行分组。

import pandas as pd
import numpy as np# 创建多重索引的列表
arrays = [['华为', '华为', '苹果', '苹果', '小米', '小米', '三星', '三星'],      # 厂商级别索引['手机', '笔记本', '手机', '笔记本', '手机', '笔记本', '手机', '笔记本']  # 产品级别索引
]
# 从列表创建多重索引,并给索引级别命名
index = pd.MultiIndex.from_arrays(arrays, names=['厂商', '产品'])
# 创建数据框,使用多重索引作为行索引
# 假设华为的销量和销售额最高,其次是苹果,然后是小米,最后是三星
# 数据单位为“万”
sales_data = [1000, 800, 750, 600, 500, 400, 300, 200]  # 销量(单位:万)
revenue_data = [5000, 4000, 3750, 3000, 2500, 2000, 1500, 1000]  # 销售额(单位:万)
df = pd.DataFrame({'销量(万)': sales_data, '销售额(万)': revenue_data}, index=index)print("原始数据框:")
print(df)# 选择厂商为'华为'和产品为'手机'的数据
filtered_df = df.loc[('华为', '手机')]
print("\n选择厂商为'华为'和产品为'手机'的数据:")
print(filtered_df)# 重塑数据框,将产品级别索引作为列
reshaped_df = df.unstack(level='产品')
print("\n重塑数据框,将产品级别索引作为列:")
print(reshaped_df)

运行结果: 

原始数据框:销量(万)  销售额(万)
厂商 产品                
华为 手机    1000    5000笔记本    800    4000
苹果 手机  

相关文章:

Pandas高级操作:多级索引、窗口函数、数据透视表等

在数据处理和分析中,pandas库提供了强大的功能,支持从简单到复杂的数据操作。本文将介绍一些pandas的高级操作,包括多级索引(MultiIndex)、窗口函数(Window Functions)、数据透视表与复杂聚合、数据合并与连接、高级数据变换以及时间序列数据的高级处理。 1. 多级索引(…...

mysql源码编译启动debug

对于没有C语言基础的同学来说,想看看源码,在搞定编辑器做debug的时候就被劝退了,发生点啥了,完全看不懂,不知道从哪里入手去做debug;我为了看看 mysql 的 insert buffer 到底存的是索引页还是数据页&#x…...

吴恩达机器学习-C1W3L2-逻辑回归之S型函数

可选实验:逻辑回归 在这个不评分的实验中,你会 探索sigmoid函数(也称为logistic函数)探索逻辑回归;哪个用到了s型函数 import numpy as np %matplotlib widget import matplotlib.pyplot as plt from plt_one_addpt_onclick import plt_one_addpt_onclick from l…...

P-one新增火焰图-为性能测试开启新视野

随着软件业务流程的日益复杂,传统的性能测试方法已经难以满足对性能问题精准定位的需求。测试人员需要一种更加直观、全面的方式来分析软件在运行过程中的性能表现,以便快速准确地找到性能瓶颈并进行优化。因此,我们在性能测试平台P-One中加入…...

CTF-web基础 TCP/UDP协议

传输层协议由TCP/UDP协议组成,来控制信息的传输,二者有什么区别呢,TCP比较靠谱,但是UDP速度比较快一点。 TCP协议 Transmission Control protocol, 三次握手:先给服务器传输询问要发消息,然后…...

sql常用语法总结

SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作关系数据库的标准编程语言。本文用来记录一些接触到的sql语句,随着学习不断进行更新: 选择数据 - SELECT 语句用于从数据库表中检索数据。 SELECT column1, column2 FROM table_name;插入数据 - INSERT…...

实验八 题目描述 从键盘上输入任意一个整数(正负数皆可),判断该整数的绝对值是否为回文数。

实验八 题目描述 从键盘上输入任意一个整数(正负数皆可),判断该整数的绝对值是否为回文数。[提示:取数的绝对值,然后使用用循环语句从该绝对值的末位开始至最高位,重新构造一个数,…...

IsaacLab | Workflow 中 rsl_rl 的 play.py 脚本精读

如是我闻: 在用IsaacLab 做强化学习实验时,回顾已训练好的模型需要调用workflow中的play.py脚本,以下是对rsl_rl的play.py脚本的逐行精读。 1. 版权声明和文件描述 # Copyright (c) 2022-2024, The Isaac Lab Project Developers. # All ri…...

PYTHON专题-(8)我错了该怎么整?

什么是异常处理? 异常处理是一种机制,用于在程序执行期间发生错误或异常时,对发生的异常进行捕获、处理和恢复,以确保程序能够继续执行或正确地终止。异常处理可以包括捕获异常、处理异常,以及执行相应的操作来处理异常…...

【自然资源】设施农业用地的学习梳理

【自然资源】设施农业用地的学习梳理 什么是设施农业用地? 2019年12月17日,自然资源部 、农业农村部印发的《关于设施农业用地管理有关问题的通知》规定:设施农业用地包括农业生产中直接用于作物种植和畜禽水产养殖的设施用地。其中&#x…...

【秋招笔试】24-07-27-OPPO-秋招笔试题(后端卷)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 💡 01.二进制反转游戏 问题描述 K小姐…...

JS 补充内容

一、dir 打印对象 二、获取 html 中的元素 常用的两种方式 其他获取元素的方法 三、 innerText 四、innerHTML 五、修改元素的值 六、鼠标放上去,显示图片的提示文字 img . title 七、获取 N ~ M 之间的随机整数 八、修改属性样式 1. style 2. className 将后面 …...

H5+JS 4096小游戏

主要实现 1.使用WASD或方向按钮控制游戏 2.最高值4096,玩到4096视为胜利 3.随机生成2、4、8方块 4.移动方块 5.合并方块 JS代码干了什么 初始化游戏界面:创建游戏板和控制按钮。 定义游戏相关变量:如棋盘大小、棋盘状态、得分等。 初始化棋…...

常见中间件漏洞(二、WebLogin合集)

目录 二、WebLogic Weblogic介绍 2.1 后台弱口令GetShell 漏洞描述 影响范围 环境搭建 漏洞复现 2.2 CVE-2017-3506 漏洞描述 影响版本 环境搭建 漏洞复现 2.3 CVE-2019-2725 漏洞描述 影响版本 环境搭建 漏洞复现 2.4 CVE-2018-2628 漏洞描述 漏洞影响 环…...

LeetCode LCR147.最小栈

LeetCode LCR147.最小栈 思路🤔: 建立两个栈,一个栈正常入栈出栈,一个栈只用于出入最小数,当push值小于minst栈顶才入栈,当pop值等于minst栈顶才出栈。 代码🔎: class MinStack { pu…...

目标检测的算法有哪些

目标检测是计算机视觉领域的一个重要任务,它涉及识别图像或视频中的对象,并确定它们的位置和类别。随着深度学习的发展,出现了许多高效且准确的目标检测算法。以下是一些主要的目标检测算法: 两阶段检测器(Region-bas…...

HDU多校-交通管控

Problem - 7498 (hdu.edu.cn) 直接dfs显然不行,达到了2^500,那么我们可以考虑枚举所有红绿灯的状态,总共有三种状态,k的范围小于等于10,因此所有状态数为3^10不会超,所以通过三进制状压dp即可完成&#xf…...

【C++】string类

🚀个人主页:奋斗的小羊 🚀所属专栏:C 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 前言💥1、标准库中的string类💥1.1string类的常用接口💥string类对象常见…...

Python中各类常用内置转换函数

Python中各类常用内置转换函数 函数功能说明int(x)将 x 转换为整数类型float(x)将 x 转换为浮点数类型str(x)将 x 转换为字符串repr(x)将 x 转换为表达式字符串eval(str)计算在字符串中的有效Python表达式,并返回一个对象list(s)将序列 s 转换为一个列表tuple(s)将…...

LangChain与JWT:构建安全认证的桥梁

LangChain与JWT:构建安全认证的桥梁 在现代Web应用和微服务架构中,安全认证是保护数据和资源访问的关键。JSON Web Tokens(JWT)作为一种广泛使用的开放标准,为安全传输提供了一种简洁而自包含的方式。LangChain&#…...

微信小程序之bind和catch

这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

Java入门学习详细版(一)

大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...