pandas——对齐运算+函数应用

引言:对齐运算是数据清洗的重要过程,可以按索引对齐进行运算,如果没对齐的位置则补NaN,最后也可以填充NaN

一、Series的对齐运算

1.Series 按行、索引对齐

import pandas as pds1 = pd.Series(range(10, 20), index=range(10))
s2 =pd.Series(range(20, 25), index=range(5))
print('s1: ')
print(s1)
print('')
print('s2: ')
print(s2)

cc23296e3d2b4b9f86b49511566876ad.png

2.Series的对齐运算

import pandas as pds1 = pd.Series(range(10, 20), index=range(10))
s2 =pd.Series(range(20, 25), index=range(5))
# Series 对齐运算
print(s1 + s2)

04835be9a3a44a4d8d0486ce0cb0c1c1.png

二、DataFrame的对齐运算

1.DataFrame按行、列索引对齐

import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.ones((2, 2)), columns=['a', 'b'])
df2 = pd.DataFrame(np.ones((3, 3)), columns=['a', 'b', 'c'])
print('df1: ')
print(df1)
print('')
print('df2: ')
print(df2)

ea7725c11c8d4305a894cfd40a245254.png

2.DataFrame的对齐运算

import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.ones((2, 2)), columns=['a', 'b'])
df2 = pd.DataFrame(np.ones((3, 3)), columns=['a', 'b', 'c'])
# DataFrame对齐操作
print(df1 + df2)

c5474bf775c041fb974a18eef2323beb.png

三、填充未对齐的数据进行运算

fill_value
使用add, sub, div, mul的同时,
通过fill_value指定填充值,未对齐的数据将和填充值做运算
import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.ones((2, 2)), columns=['a', 'b'])
df2 = pd.DataFrame(np.ones((3, 3)), columns=['a', 'b', 'c'])
s1 = pd.Series(range(10, 20), index=range(10))
s2 =pd.Series(range(20, 25), index=range(5))
print(s1)
print(s2)
print(s1.add(s2,fill_value=-1))
print('==================================')
print(df1)
print(df2)
print(df1.sub(df2,fill_value=2.))

5bcf27b158ea47cbb0e813a80bc4b134.png

ba72d08d6ba046cfba3bc0ae9669f6fb.png

四、函数应用

apply applymap 可直接使用 NumPy 的函数
import pandas as pd
import numpy as np# Numpy ufunc 函数
df = pd.DataFrame(np.random.randn(5,4) - 1)
print(df)
print(np.abs(df))

72c8d5eca3d541c880c59375b2e66d8e.png

通过 apply 将函数应用到列或行上
import pandas as pd
import numpy as npdf = pd.DataFrame(np.random.randn(5,4) - 1)print(df.apply(lambda x :x.max()))

f7662206bcb24d9ea23c1b84b464fad5.png

注意指定轴的方向,默认axis=0,方向是列
import pandas as pd
import numpy as npdf = pd.DataFrame(np.random.randn(5,4) - 1)# 指定轴方向,axis=1,方向是行
print(df.apply(lambda x : x.max(), axis=1))

9cebe6924e8f4fea961951089aae2049.png

通过 applymap将函数应用到每个数据上示
import pandas as pd
import numpy as npdf = pd.DataFrame(np.random.randn(5,4) - 1)#使用applymap应用到每个数据
f2 = lambda x : '%.2f' % x
print(df.applymap(f2))

600b1a9a9f6e460a8e1c5b5a60f73493.png

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

# Ubuntu 达人九步养成记(1)

Ubuntu 达人九步养成记(1) 目录: 一、ubuntu基本安装 二、设置语言环境 三、设置服务器镜像源 四、在启动栏添加终端图标 五、使用apt更新和升级系统软件 六、使用apt安装软件 七、使用apt删除软件以及apt-get 八、deb格式及谷歌浏览…

优选算法第五讲:位运算模块

优选算法第五讲:位运算模块 1.常见的位运算总结2.判断字符是否唯一3.丢失的数字4.两整数之和5.只出现一次的数字II6.消失的两个数字 1.常见的位运算总结 2.判断字符是否唯一 链接: link class Solution { public:bool isUnique(string astr) {if(astr.size() >…

计算机视觉算法真的难学吗?这些技巧让你轻松掌握

在当今这个数字化迅猛发展的时代,计算机视觉作为人工智能的重要分支,正在逐渐改变我们的生活和工作方式。很多人可能会觉得计算机视觉算法难以掌握,尤其是在面对复杂的数学和编程时,常常会感到无从下手。不过,实际上&a…

基于YOLO11/v10/v8/v5深度学习的老鼠智能检测系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

机器学习—前向传播的一般实现

可以写一个函数来实现一个密集的层,那是神经网络的单层,所以定义稠密函数,它将上一层的激活作为输入以及给定层神经元的参数w和b。看下边图片所展示的例子,把所有这些权重向量堆叠成一个矩阵,wnp.array([[1,-3,5][2,4,…

高清烟花视频素材下载网站推荐

无论是庆祝节日、婚礼,还是各种欢庆活动,烟花总能瞬间点燃气氛,带来视觉上的震撼。在视频作品中加入绚丽的烟花瞬间,能够立刻提升画面的冲击力和节庆氛围。那么,高清烟花视频素材去哪下载呢?今天&#xff0…

Java异常体系结构

在Java编程中,异常处理是一个重要的概念。理解Java的异常体系结构以及如何捕获和处理异常,对于编写健壮的程序至关重要。本文将详细介绍Java异常体系结构的组成部分,以及异常的捕获和处理机制。 一、Java异常体系结构 Java的异常体系结构可以…

免费,基于React + ECharts 国产开源 IoT 物联网 Web 可视化数据大屏

文末查看开源项目地址 Light Chaser 是一款国产开源免费的基于 React18、Vite5、TypeScript5 技术栈实现的 Web 可视化大屏设计工具,支持Docker方式部署,支持MySQL、PostgreSQL、SQL Server、Oracle 数据源。 你可以简单快速地搭建数据可视化展示、数据报…

【解决】Pico 串流 Unity 开发环境 Preview 黑屏问题

开发平台:Unity 6.0 开发工具:Pico SDK   一、问题描述 在 Unity 开发环境下运行 测试 PicoVR 表现时,出现 Game视窗 PicoVR投屏 呈现黑屏效果。详细背景如下: UnitySwitch PlateformPICO Integration SDKPICO Live Preview6…

pytest高版本兼容test_data[“log“] = _handle_ansi(“\n“.join(logs))错误

一、问题现象: 执行seleniumpytest结束时报: INTERNALERROR> File "D:\workspace\pytestframe\.venv\Lib\site-packages\pytest_html\report_data.py", line 141, in add_test INTERNALERROR> test_data["log"] _handle_ansi(&q…

编译工具与文件学习(一)-YAML、repos、vcstoolcolcon

YAML YAML(YAML Ain’t Markup Language)是一种人类可读的数据序列化格式,常用于配置文件、数据交换和存储结构化数据。YAML 的设计目标是简洁、易读,并且能够表示复杂的数据结构。 YAML 文件的基本语法 基本结构: Y…

信息学科平台系统构建:Spring Boot框架深度解析

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原理…

从传统服务器到虚拟化:虚拟机 VM 如何改变计算游戏规则?

目录 VMware 数据中心虚拟化入门Ⅰ—— 虚拟机 Virtual Machine(VM)1. 虚拟机 Virtual Machine, VM阅读本文后可以获得以下信息1.1 什么是虚拟机问题思考(1)从传统服务器到虚拟化服务器(2)问题:…

双向链表及如何使用GLib的GList实现双向链表

双向链表是一种比单向链表更为灵活的数据结构,与单向链表相比可以有更多的应用场景,本文讨论双向链表的基本概念及实现方法,并着重介绍使用GLib的GList实现单向链表的方法及步骤,本文给出了多个实际范例源代码,旨在帮助…

MySQL 数据库之库操作

文章目录 1. 什么是数据库2. 基础概念2.1 连接数据库2.2 服务器,数据库,表关系2.3 SQL分类 3. 库的操作3.1 创建,选择,查看数据库3.2 字符集和默认校验规则 3.3 操纵数据库3.3.1 数据库查看3.3.2 数据库删除3.3.3 数据库修改 4. 其…

Windows安装多个NodeJS版本

下载nvm管理工具,下载完成解压安装 https://github.com/coreybutler/nvm-windows/releases 选择nvm安装位置 选择nvm安装node版本的安装位置 如果提示你已经安装的有nodejs,提示你是否通过nvm管理nodejs,选择是,继续安装即可…

使用NVM自由切换nodejs版本

一、NVM介绍 在日常开发中,我们可能需要同时进行多个不同NodeJS版本的项目开发,每个项目所依赖的nodejs版本可能不一致,我们如果只安装一个版本的nodejs,就可能出现node版本冲突问题,导致项目无法启动。这种情况下&am…

parseInt 是一个内置的 JavaScript 函数,用于将字符串转换为整数。

parseInt(options.checkNumber, 10) 中的 10 表示将字符串转换为十进制整数。 解释 parseInt 函数: parseInt 是一个内置的 JavaScript 函数,用于将字符串转换为整数。它有两个参数: 第一个参数是要转换的字符串。第二个参数是转换时使用的基…

Qt中的Model与View 4:QStandardItemModel与QTableView

目录 QStandardItemModel API QTableView 导航 视觉外观 坐标系统 API 样例:解析一个表格txt文件 QStandardItemModel QStandardItemModel 可用作标准 Qt 数据类型的存储库。它是模型/视图类之一,是 Qt 模型/视图框架的一部分。它提供了一种基于…

[Unity Demo]从零开始制作空洞骑士Hollow Knight第十九集:制作过场Cutscene系统

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、制作过场Cutscene系统 1.制作基本的视频过场和动画过场2.制作决定过场系统的播放顺序Sequence以及切换场景以后的逻辑处理二、制作跳过过场Cutscene的MenuS…