Pandas Series的运算原来这么简单

Series的运算主要包括加法、减法、乘法和除法等基本算术运算。这些运算通常是按照索引对应计算的,如果两个Series的索引不同,则结果中对应位置将填充为NaN(空值)。

需要注意的是,在进行Series运算时,需要确保两个Series的索引是可对齐的,否则可能会导致意外的结果。如果两个Series的索引不同,可以使用Pandas的reindex()方法或align()方法来进行索引对齐。

1.Series基本算术运算

  • 适用于 NumPy 的数组运算也适用于 Series

# 导包
import pandas as pds = pd.Series(np.random.randint(10,100,size=10))
s
# 执行结果
0    11
1    40
2    25
3    83
4    18
5    42
6    84
7    43
8    30
9    75
dtype: int32# 加法运算
s + 100
# 执行结果
0    111
1    140
2    125
3    183
4    118
5    142
6    184
7    143
8    130
9    175
dtype: int32# 减法运算
s - 100
# 执行结果
0   -89
1   -60
2   -75
3   -17
4   -82
5   -58
6   -16
7   -57
8   -70
9   -25
dtype: int32# 乘法运算
s * 100
# 执行结果
0    1100
1    4000
2    2500
3    8300
4    1800
5    4200
6    8400
7    4300
8    3000
9    7500
dtype: int32# 除法运算
s / 100
# 执行结果
0    0.11
1    0.40
2    0.25
3    0.83
4    0.18
5    0.42
6    0.84
7    0.43
8    0.30
9    0.75
dtype: float64# 取整运算
s // 100
# 执行结果
0    0
1    0
2    0
3    0
4    0
5    0
6    0
7    0
8    0
9    0
dtype: int32# 次方运算
s ** 2
# 执行结果
0     121
1    1600
2     625
3    6889
4     324
5    1764
6    7056
7    1849
8     900
9    5625
dtype: int32# 求余运算
s % 2
# 执行结果
0    1
1    0
2    1
3    1
4    0
5    0
6    0
7    1
8    0
9    1
dtype: int32

2.Series之间的运算

  • 在运算中自动对齐索引

  • 如果索引不对应,则补 NaN

  • Series 没有广播机制


# 创建两个长度一样的数据
s1 = pd.Series(np.random.randint(10,100,size=3))
s2 = pd.Series(np.random.randint(10,100,size=3))
display(s1,s2)
# 执行结果
0    56
1    74
2    69
dtype: int32
0    27
1    90
2    35
dtype: int32# 对应元素数据相加
s1 + s2
# 执行结果
0     83
1    164
2    104
dtype: int32# 对应元素数据相减
s1 - s2
# 执行结果
0    29
1   -16
2    34
dtype: int32# 创建两个不同长度的数据
s3 = pd.Series(np.random.randint(10,100,size=3))
s4 = pd.Series(np.random.randint(10,100,size=4))
display(s3,s4)
# 执行结果
0    77
1    11
2    76
dtype: int32
0    18
1    74
2    20
3    93
dtype: int32# 根据索引对应的值运算,索引不对应则补 NaN
s3 + s4
# 执行结果
0    95.0
1    85.0
2    96.0
3     NaN
dtype: float64
  • 注意:要想保留所有的 index,则需要使用 .add() 函数


display(s3,s4)
# 执行结果
0    77
1    11
2    76
dtype: int32
0    18
1    74
2    20
3    93
dtype: int32# s3默认填充索引3的值为0
s3.add(s4,fill_value=0)
# 执行结果
0    95.0
1    85.0
2    96.0
3    93.0
dtype: float64

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

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

相关文章

文心一言 VS 讯飞星火 VS chatgpt (249)-- 算法导论18.2 2题

二、请解释在什么情况下(如果有的话),在调用 B-TREE-INSERT 的过程中,会执行冗余的 DISK-READ 或 DISK-WRITE 操作。(所谓冗余的 DISK-READ ,是指对已经在主存中的某页做 DISK-READ 。冗余的 DISK-WRITE 是…

探索APP内测分发的全过程(APP开发)

什么是APP内测分发探索APP内测分发的全过程? APP内测分发是在应用程序开发过程中探索APP内测分发的全过程,开发者将应用程序的测试版或预发布版分发给特定用户进行测试、反馈和评估的一种方式。这是一个非常重要的环节,可以有效地提高应用的…

C语言——每日一题(反转链表)

一.前言 大家好!今天又是每日一题环节。今天我为大家分享了一道单链表题——反转链表。 废话不多说,让我们直接进入正题吧。 二.正文 1.1题目信息 这是一道leetCode上面的一道题:https://leetcode.cn/problems/reverse-linked-list 1.2解…

227. 基本计算器 II

227. 基本计算器 II 原题链接:完成情况:解题思路:参考代码:_227基本计算器II_单栈直接算_227基本计算器II_双栈 错误经验吸取 原题链接: 227. 基本计算器 II https://leetcode.cn/problems/basic-calculator-ii/ 完…

网络应用层之(6)L2TP协议详解

网络应用层之(6)L2TP协议 Author: Once Day Date: 2024年5月1日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文档可参考专栏:通信网络技术_Once-Day的…

[论文阅读] (32)南洋理工大学刘杨教授——网络空间安全和AIGC整合之道学习笔记及强推(InForSec)

首先祝大家五一节快乐!《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给…

安卓四大组件之ContentProvider

目录 前言一、ContentProvider基础介绍1.1 简介1.2 作用1.3 实现原理 二、具体使用2.1 统一资源标识符(URI)2.2 MIME数据类型2.2.1 MIME类型组成2.2.2 常见的MIME类型2.2.3 ContentProvider根据 URI 返回MIME类型2.2.4 类型分类2.2.5 示例 2.3 ContentPr…

Java IO流(一)

1. IO流概述 1.1 什么是IO流 在计算机中,input/output(I/O、i/o 或非正式的 io 或 IO)是信息处理系统(例如计算机)与外界(可能是人类或其他信息处理系统)之间的通信。 输入是系统接收到的信号或…

基于ssm+vue+Mysql的药源购物网站

开发语言:Java框架:ssmJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.…

Ubuntu系统设置中文及中文输入法(手把手,学不会打我)

前言 最近开始搞C系统编程的学习,整了个Ubuntu系统,进去发现是英文系统,我一开始觉得也能接受,就当练英文,反正那些命令也都是用英文,不过后面等我暗转了一个Chrome并且开始用这里的软件去搜问题时&#x…

【08】JAVASE-面向对象-类和对象【从零开始学JAVA】

Java零基础系列课程-JavaSE基础篇 Lecture:波哥 Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。…

Linux:冯诺依曼体系结构、操作系统、初识进程

文章目录 1.冯诺依曼体系结构总线与数据传输通路为什么有内存这个部分计算机存储结构 2.操作系统(Operator System)2.1 概念2.2 设计OS的目的2.3 理解“管理”先描述再组织 2.4 用户使用系统调用和库函数(lib)概念 总结 3.初识进程3.1 基本事实与引入3.2…

(1)探索 SpringAI - 基本概述

人工智能简介 A system is ability to correctly interpret external data, to learn from such data, and to use those learnings to achieve specific goals and tasks through flexible adaptation. 翻译:系统正确解释外部数据的能力,从这些数据中学…

飞腾D2000+X100 TYPE6全国产核心板

飞腾D2000X100 TYPE6核心板 产品概述 飞腾D2000X100 TYPE6核心板为增强型自主控制器核心板,其核心芯片CPU采用飞腾D2000/8核工业版CPU、飞腾桥片X100、双通道DDR4L插槽、PHY芯片等。 产品特点 l 基于飞腾D2000X100桥片 l 丰富的PCIE扩展资源,一路PCIE…

大面积车间降温用什么方法

生产车间降温用什么设备好,生产车间降温设备的选择取决于多种因素,如车间的大小、高度、通风条件、预算以及员工的工作环境需求等。以下是一些常见的生产车间降温设备及其特点: 工业风扇(包括大型吊扇): …

街道征迁项目档案管理系统

街道征迁项目档案管理系统是一个用于管理街道征迁项目档案的软件系统。该系统的主要功能包括档案录入、档案存储、档案检索、档案共享等。 系统的用户可以通过该系统录入征迁项目相关的档案信息,包括项目名称、征迁范围、土地面积、征迁补偿费用等。同时&#xff0c…

el-table分页多选导出excel表格

需求:使用el-table分页查询表格的时候记录上一页已选中的数据,之后点击导出按钮后对表格已选中数据导出excel表格,导出成功后清空选中的状态,本文章只记录分页导出的关键代码,其中包含之前的导出全部表格,导…

2024五一数学建模C题Python代码+结果表数据教学

2024五一数学建模竞赛(五一赛)C题保姆级分析完整思路代码数据教学 C题 煤矿深部开采冲击地压危险预测 第一问 导入数据 以下仅展示部分,完整版看文末的文章 import numpy as np import pandas as pd import matplotlib.pyplot as plt imp…

Edge浏览器新特性深度解析,写作ai免费软件

首先,这篇文章是基于笔尖AI写作进行文章创作的,喜欢的宝子,也可以去体验下,解放双手,上班直接摸鱼~ 按照惯例,先介绍下这款笔尖AI写作,宝子也可以直接下滑跳过看正文~ 笔尖Ai写作:…

python u是什么意思

u:表示unicode字符串,默认模式,里边的特殊字符会被识别。 作用:后面字符串以unicode格式进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。 用法&#xff…