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

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

目录

一、用法精讲

55、pandas.lreshape函数

55-1、语法

55-2、参数

55-3、功能

55-4、返回值

55-5、说明

55-6、用法

55-6-1、数据准备

55-6-2、代码示例

55-6-3、结果输出

56、pandas.wide_to_long函数

56-1、语法

56-2、参数

56-3、功能

56-4、返回值

56-5、说明

56-6、用法

56-6-1、数据准备

56-6-2、代码示例

56-6-3、结果输出 

57、pandas.isna函数

57-1、语法

57-2、参数

57-3、功能

57-4、返回值

57-5、说明

57-6、用法

57-6-1、数据准备

57-6-2、代码示例

57-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

55、pandas.lreshape函数
55-1、语法
# 55、pandas.lreshape函数
pandas.lreshape(data, groups, dropna=True)
Reshape wide-format data to long. Generalized inverse of DataFrame.pivot.Accepts a dictionary, groups, in which each key is a new column name and each value is a list of old column names that will be “melted” under the new column name as part of the reshape.Parameters:
data
DataFrame
The wide-format DataFrame.groups
dict
{new_name : list_of_columns}.dropna
bool, default True
Do not include columns whose entries are all NaN.Returns:
DataFrame
Reshaped DataFrame.
55-2、参数

55-2-1、data(必须)要进行重塑的Pandas数据框。

55-2-2、groups(必须)一个字典,用于指定要重塑的列组,字典的键是新列的名称,值是要重塑的列列表,例如:{'A': ['A1', 'A2'], 'B': ['B1', 'B2']}

55-2-3、dropna(可选,默认值为True)指定是否在重塑过程中丢弃包含NaN的行,如果设置为True,则会丢弃包含NaN的行;如果设置为False,则保留NaN。

55-3、功能

        根据指定的列组对数据框进行重塑,将宽格式的数据转换为长格式。

55-4、返回值

        返回一个重塑后的Pandas数据框,其中包含从宽格式转换为长格式的数据。

55-5、说明

        Pandas.Ireshape是一个强大的工具,可以根据指定的列组对数据框进行宽转长的重塑,它具有三个参数:

55-5-1、data:要重塑的DataFrame。

55-5-2、groups:一个字典,定义新的列组。

55-5-3、dropna:指定是否丢弃包含NaN的行。

        通过理解和正确使用这些参数,可以灵活地重塑数据框,从而更好地组织和分析数据

55-6、用法
55-6-1、数据准备
55-6-2、代码示例
# 55、pandas.lreshape函数
import pandas as pd
# 创建示例数据框
data = pd.DataFrame({'A1': [1, 2, 3],'A2': [4, 5, 6],'B1': ['a', 'b', 'c'],'B2': ['d', 'e', 'f']
})
# 定义列组
groups = {'A': ['A1', 'A2'],'B': ['B1', 'B2']
}
# 使用pandas.lreshape进行重塑
reshaped = pd.lreshape(data, groups)
print(reshaped)
55-6-3、结果输出
# 55、pandas.lreshape函数
#    A  B
# 0  1  a
# 1  2  b
# 2  3  c
# 3  4  d
# 4  5  e
# 5  6  f
56、pandas.wide_to_long函数
56-1、语法
# 56、pandas.wide_to_long函数
pandas.wide_to_long(df, stubnames, i, j, sep='', suffix='\\d+')
Unpivot a DataFrame from wide to long format.Less flexible but more user-friendly than melt.With stubnames [‘A’, ‘B’], this function expects to find one or more group of columns with format A-suffix1, A-suffix2,…, B-suffix1, B-suffix2,… You specify what you want to call this suffix in the resulting long format with j (for example j=’year’)Each row of these wide variables are assumed to be uniquely identified by i (can be a single column name or a list of column names)All remaining variables in the data frame are left intact.Parameters:
df
DataFrame
The wide-format DataFrame.stubnames
str or list-like
The stub name(s). The wide format variables are assumed to start with the stub names.i
str or list-like
Column(s) to use as id variable(s).j
str
The name of the sub-observation variable. What you wish to name your suffix in the long format.sep
str, default “”
A character indicating the separation of the variable names in the wide format, to be stripped from the names in the long format. For example, if your column names are A-suffix1, A-suffix2, you can strip the hyphen by specifying sep=’-’.suffix
str, default ‘\d+’
A regular expression capturing the wanted suffixes. ‘\d+’ captures numeric suffixes. Suffixes with no numbers could be specified with the negated character class ‘\D+’. You can also further disambiguate suffixes, for example, if your wide variables are of the form A-one, B-two,.., and you have an unrelated column A-rating, you can ignore the last one by specifying suffix=’(!?one|two)’. When all suffixes are numeric, they are cast to int64/float64.Returns:
DataFrame
A DataFrame that contains each stub name as a variable, with new index (i, j).
56-2、参数

56-2-1、df(必须)要进行重塑的Pandas数据框。

56-2-2、stubnames(必须)列名前缀的列表,这些列将被转换为长格式。比如,如果列名是A1970A1980B1970B1980,那么stubnames应该是['A', 'B']

56-2-3、i(必须)表示唯一标识每一行的列名或列名列表,重塑后的每一行将保留这些列。

56-2-4、j(必须)新列的名称,这列将包含从宽格式中提取的时间或编号信息。例如,'year'可以作为j

56-2-5、sep(可选,默认值为'')列名中stubnames和j部分之间的分隔符。例如,如果列名是A-1970,那么sep应该是'-'

56-2-6、suffix(可选,默认值为'\\d+')stubnames后缀的正则表达式模式,用于匹配列名中的时间或编号部分,默认情况下,匹配一个或多个数字。

56-3、功能

        用于将数据从宽格式(wide format)转换为长格式(long format),这个函数特别适用于处理时间序列数据或面板数据。

56-4、返回值

        返回一个重塑后的Pandas数据框,其中包含从宽格式转换为长格式的数据。

56-5、说明

        Pandas.wide_to_long是一个强大的工具,可以通过指定列名前缀、标识列、时间或编号列来将宽格式的数据转换为长格式。它具有以下参数:

56-5-1、df:要重塑的DataFrame。

56-5-2、stubnames:列名前缀列表。

56-5-3、i:唯一标识每一行的列名或列名列表。

56-5-4、j:新列的名称,用于包含时间或编号信息。

56-5-5、sep:列名中前缀和时间/编号部分之间的分隔符。

56-5-6、suffix:匹配时间或编号部分的正则表达式模式。

        理解并正确使用这些参数,可以灵活地重塑数据框,以便更好地进行数据分析和处理。

56-6、用法
56-6-1、数据准备
56-6-2、代码示例
# 56、pandas.wide_to_long函数
import pandas as pd
# 创建示例数据框
df = pd.DataFrame({'id': [1, 2, 3],'A1970': [2.5, 1.5, 3.0],'A1980': [2.0, 1.0, 3.5],'B1970': [3.0, 2.0, 4.0],'B1980': [3.5, 2.5, 4.5]
})
# 使用pandas.wide_to_long进行重塑
df_long = pd.wide_to_long(df, stubnames=['A', 'B'], i='id', j='year', sep='', suffix='\\d+')
print(df_long)
56-6-3、结果输出 
# 56、pandas.wide_to_long函数
#            A    B
# id year          
# 1  1970  2.5  3.0
# 2  1970  1.5  2.0
# 3  1970  3.0  4.0
# 1  1980  2.0  3.5
# 2  1980  1.0  2.5
# 3  1980  3.5  4.5
57、pandas.isna函数
57-1、语法
# 57、pandas.isna函数
pandas.isna(obj)
Detect missing values for an array-like object.This function takes a scalar or array-like object and indicates whether values are missing (NaN in numeric arrays, None or NaN in object arrays, NaT in datetimelike).Parameters:
obj
scalar or array-like
Object to check for null or missing values.Returns:
bool or array-like of bool
For scalar input, returns a scalar boolean. For array input, returns an array of boolean indicating whether each corresponding element is missing.
57-2、参数

57-2-1、obj(必须)要检查缺失值的对象,可以是单个标量值、数组、Series、DataFrame或其他类似的pandas对象。

57-3、功能

        用于检测缺失值,NA值在Pandas中表示缺失或无效的数据。

57-4、返回值

        返回一个布尔型对象,与输入obj具有相同的形状,布尔型对象中的True表示对应位置的值为缺失值,False表示不是缺失值。

57-5、说明

        pandas.isna(obj)是一个非常实用的函数,用于检测任何pandas对象中的缺失值,它适用于单个值、数组、Series和DataFrame等多种类型的数据结构,返回的布尔型对象可以用于进一步的数据清洗和处理操作

57-6、用法
57-6-1、数据准备
57-6-2、代码示例
# 57、pandas.isna函数
# 57-1、检查单个标量值
import pandas as pd
import numpy as np
print(pd.isna(np.nan))
print(pd.isna(3.14))
print(pd.isna(None), end='\n\n')# 57-2、检查Series
import pandas as pd
# 创建一个Series
s = pd.Series([1, 2, np.nan, 4, None])
# 检查Series中的缺失值
print(pd.isna(s), end='\n\n')# 57-3、检查DataFrame
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, np.nan],'B': [np.nan, 4, 5],'C': [1, np.nan, np.nan]
})
# 检查DataFrame中的缺失值
print(pd.isna(df))
57-6-3、结果输出
# 57、pandas.isna函数
# 57-1、检查单个标量值
# True
# False
# True# 57-2、检查Series
# 0    False
# 1    False
# 2     True
# 3    False
# 4     True
# dtype: bool# 57-3、检查DataFrame
#       A      B      C
# 0  False   True  False
# 1  False  False   True
# 2   True  False   True

二、推荐阅读

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

相关文章:

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

目录 一、用法精讲 55、pandas.lreshape函数 55-1、语法 55-2、参数 55-3、功能 55-4、返回值 55-5、说明 55-6、用法 55-6-1、数据准备 55-6-2、代码示例 55-6-3、结果输出 56、pandas.wide_to_long函数 56-1、语法 56-2、参数 56-3、功能 56-4、返回值 56-5…...

数据建设实践之大数据平台(一)准备环境

大数据组件版本信息 zookeeper-3.5.7hadoop-3.3.5mysql-5.7.28apache-hive-3.1.3spark-3.3.1dataxapache-dolphinscheduler-3.1.9大数据技术架构 大数据组件部署规划 node101node102node103node104node105datax datax datax ZK ZK ZK RM RM NM...

VUE2用elementUI实现父组件中校验子组件中的表单

需求是VUE2框架用elementUI写复杂表单组件,比如,3个相同功能的表单共用一个提交按钮,把相同功能的表单写成一个子组件,另一个父组件包含子组件的重复调用和一个提交按钮,并且要求提交时校验必填项。 注意: …...

人工智能算法工程师(中级)课程9-PyTorch神经网络之全连接神经网络实战与代码详解

大家好,我是微学AI,今天给大家介绍一下人工智能算法工程师(中级)课程9-PyTorch神经网络之全连接神经网络实战与代码详解。本文将给大家展示全连接神经网络与代码详解,包括全连接模型的设计、数学原理介绍,并从手写数字识别到猫狗识…...

UDP网络通信(发送端+接收端)实例 —— Python

简介 在网络通信编程中,用的最多的就是UDP和TCP通信了,原理这里就不分析了,网上介绍也很多,这里简单列举一下各自的优缺点和使用场景 通信方式优点缺点适用场景UDP及时性好,快速视网络情况,存在丢包 与嵌入…...

从零开始实现大语言模型(五):缩放点积注意力机制

1. 前言 缩放点积注意力机制(scaled dot-product attention)是OpenAI的GPT系列大语言模型所使用的多头注意力机制(multi-head attention)的核心,其目标与前文所述简单自注意力机制完全相同,即输入向量序列 x 1 , x 2 , ⋯   , x n x_1, x_2, \cdots, x_n x...

PTA 7-15 希尔排序

本题目要求读入N个整数,采用希尔排序法进行排序,采用增量序列{5,3,1},输出完成增量5和增量3后的5子排序和3子排序结果。 输入格式: 输入不超过100的正整数N和N个整数(空格分隔)。 输出格式: …...

【密码学】分组密码的设计原则

分组密码设计的目标是在密钥控制下,从一个巨大的置换集合中高效地选取一个置换,用于加密给定的明文块。 一、混淆原则 混淆原则是密码学中一个至关重要的概念,由克劳德香农提出。混淆原则就是将密文、明文、密钥三者之间的统计关系和代数关系…...

深入解析【C++ list 容器】:高效数据管理的秘密武器

目录 1. list 的介绍及使用 1.1 list 的介绍 知识点: 小李的理解: 1.2 list 的使用 1.2.1 list 的构造 知识点: 小李的理解: 代码示例: 1.2.2 list 迭代器的使用 知识点: 小李的理解&#xff1…...

NFS服务器、autofs自动挂载综合实验

综合实验 现有主机 node01 和 node02,完成如下需求: 1、在 node01 主机上提供 DNS 和 WEB 服务 2、dns 服务提供本实验所有主机名解析 3、web服务提供 www.rhce.com 虚拟主机 4、该虚拟主机的documentroot目录在 /nfs/rhce 目录 5、该目录由 node02 主机…...

自动驾驶事故频发,安全痛点在哪里?

大数据产业创新服务媒体 ——聚焦数据 改变商业 近日,武汉城市留言板上出现了多条关于萝卜快跑的投诉,多名市民反映萝卜快跑出现无故停在马路中间、高架上占最左道低速行驶、转弯卡着不动等情况,导致早晚高峰时段出现拥堵。萝卜快跑是百度 A…...

SpringSecurity框架【认证】

目录 一. 快速入门 二. 认证 2.1 登陆校验流程 2.2 原理初探 2.3 解决问题 2.3.1 思路分析 2.3.2 准备工作 2.3.3 实现 2.3.3.1 数据库校验用户 2.3.3.2 密码加密存储 2.3.3.3 登录接口 2.3.3.4 认证过滤器 2.3.3.5 退出登录 Spring Security是Spring家族中的一个…...

python安全脚本开发简单思路

文章目录 为什么选择python作为安全脚本开发语言如何编写人生第一个安全脚本开发后续学习 为什么选择python作为安全脚本开发语言 易读性和易维护性:Python以其简洁的语法和清晰的代码结构著称,这使得它非常易于阅读和维护。在安全领域,代码…...

WPF学习(4) -- 数据模板

一、DataTemplate 在WPF(Windows Presentation Foundation)中,DataTemplate 用于定义数据的可视化呈现方式。它允许你自定义如何展示数据对象,从而实现更灵活和丰富的用户界面。DataTemplate 通常用于控件(如ListBox、…...

GuLi商城-商品服务-API-品牌管理-JSR303分组校验

注解:@Validated 实体类: package com.nanjing.gulimall.product.entity;import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.nanjing.common.valid.ListValue; import com.nanjing.common.valid.Updat…...

PyTorch DataLoader 学习

1. DataLoader的核心概念 DataLoader是PyTorch中一个重要的类,用于将数据集(dataset)和数据加载器(sampler)结合起来,以实现批量数据加载和处理。它可以高效地处理数据加载、多线程加载、批处理和数据增强…...

TCP传输控制协议二

TCP 是 TCP/IP 模型中的传输层一个最核心的协议,不仅如此,在整个 4 层模型中,它都是核心的协议,要不然模型怎么会叫做 TCP/IP 模型呢。 它向下使用网络层的 IP 协议,向上为 FTP、SMTP、POP3、SSH、Telnet、HTTP 等应用…...

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(五)-同时支持无人机和eMBB用户数据传输的用例

引言 本文是3GPP TR 22.829 V17.1.0技术报告,专注于无人机(UAV)在3GPP系统中的增强支持。文章提出了多个无人机应用场景,分析了相应的能力要求,并建议了新的服务级别要求和关键性能指标(KPIs)。…...

使用F1C200S从零制作掌机之debian文件系统完善NES

一、模拟器源码 源码:https://files.cnblogs.com/files/twzy/arm-NES-linux-master.zip 二、文件系统 文件系统:debian bullseye 使用builtroot2018构建的文件系统,使用InfoNES模拟器存在bug,搞不定,所以放弃&…...

Vue 3 与 TypeScript:最佳实践详解

大家好,我是CodeQi! 很多人问我为什么要用TypeScript? 因为 Vue3 喜欢它! 开个玩笑... 在我们开始探索 Vue 3 和 TypeScript 最佳实践之前,让我们先打个比方。 如果你曾经尝试过在没有 GPS 的情况下开车到一个陌生的地方,你可能会知道那种迷失方向的感觉。 而 Typ…...

PyMysql error : Packet Sequence Number Wrong - got 1 expected 0

文章目录 错误一错误原因解决方案 错误二原因解决方案 我自己知道的,这类问题有两类原因,两种解决方案。 错误一 错误原因 pymysql的主进程启动的connect无法给子进程中使用,所以读取大批量数据时最后容易出现了此类问题。 解决方案 换成…...

MVC 生成验证码

在mvc 出现之前 生成验证码思路 在一个html页面上&#xff0c;生成一个验证码&#xff0c;在把这个页面嵌入到需要验证码的页面中。 JS生成验证码 <script type"text/javascript">jQuery(function ($) {/**生成一个随机数**/function randomNum(min, max) {…...

OSPF.综合实验

1、首先将各个网段基于172.16.0.0 16 进行划分 1.1、划分为4个大区域 172.16.0.0 18 172.16.64.0 18 172.16.128.0 18 172.16.192.0 18 四个网段 划分R4 划分area2 划分area3 划分area1 2、进行IP配置 如图使用配置指令进行配置 ip address x.x.x.x /x 并且将缺省路由…...

云计算【第一阶段(29)】远程访问及控制

一、ssh远程管理 1.1、ssh (secureshell)协议 是一种安全通道协议对通信数据进行了加密处理&#xff0c;用于远程管理功能SSH 协议对通信双方的数据传输进行了加密处理&#xff0c;其中包括用户登录时输入的用户口令&#xff0c;建立在应用层和传输层基础上的安全协议。SSH客…...

2024前端面试真题【CSS篇】

盒子模型 盒子模型&#xff1a;box-sizing&#xff0c;描述了文档中的元素如何生成矩形盒子&#xff0c;并通过这些盒子的布局来组织和设计网页。包含content、padding、margin、border四个部分。 分类 W3C盒子模型&#xff08;content-box&#xff09;&#xff1a;标准盒子模…...

python中设置代码格式,函数编写指南,类的编程风格

4.6 设置代码格式 随着你编写的程序越来越长&#xff0c;确保代码格式一致变得尤为重要。花时间让代码尽可能易于阅读&#xff0c;这不仅有助于你理解程序的功能&#xff0c;也能帮助他人理解你的代码。 为了保证所有人的代码结构大致一致&#xff0c;Python程序员遵循一系列…...

CentOS 8升级gcc版本

1、查看gcc版本 gcc -v发现gcc版本为8.x.x&#xff0c;而跑某个项目的finetune需要gcc-9&#xff0c;之前搜索过很多更新gcc版本的方式&#xff0c;例如https://blog.csdn.net/xunye_dream/article/details/108918316?spm1001.2014.3001.5506&#xff0c;但执行指令 sudo yu…...

Kafka基础入门篇(深度好文)

Kafka简介 Kafka 是一个高吞吐量的分布式的基于发布/订阅模式的消息队列&#xff08;Message Queue&#xff09;&#xff0c;主要应用与大数据实时处理领域。 1. 以时间复杂度为O(1)的方式提供消息持久化能力。 2. 高吞吐率。&#xff08;Kafka 的吞吐量是MySQL 吞吐量的30…...

C++之复合资料型态KU网址第二部V蒐NAY3989

结构 结构可存放不同资料型态的数值&#xff0c;例如 #include <iostream>struct Demo {int member1;char *member2;float member3; };int main() {Demo d;d.member1 19823;d.member2 "203";d.member3 3.011;std::cout << "member1: " &l…...

乡镇集装箱生活污水处理设备处理效率高

乡镇集装箱生活污水处理设备处理效率高 乡镇集装箱生活污水处理设备优势 结构紧凑&#xff1a;集装箱式设计减少了占地面积&#xff0c;便于在土地资源紧张的乡镇地区部署。 安装方便&#xff1a;设备出厂前已完成组装和调试&#xff0c;现场只需进行简单的连接和调试即可投入使…...