1分钟带你搞定Pandas DataFrame运算

1. DataFrame之间的运算

  • 在运算中自动对齐不同索引的数据

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

  • DataFrame没有广播机制

导包

# 导包import numpy as npimport pandas as pd

创建 DataFrame df1 不同人员的各科目成绩,月考一

# 创建DataFrame二维数组df1 = pd.DataFrame(    data = np.random.randint(10,100,size=(3,3)),    index = ["小明","小红","小黄"],    columns = ["语文","数学","英语"])df1

语文数学英语
小明592658
小红147453
小黄492899

创建 DataFrame df2 不同人员的各科目成绩,月考二

df2 = pd.DataFrame(    data = np.random.randint(10,100,size=(3,3)),    index = ["小明","小红","小黄"],    columns = ["语文","数学","英语"])df2

语文数学英语
小明557113
小红424955
小黄346836

DataFrame和标量之间的运算

df1 + 100

语文数学英语
小明159126158
小红114174153
小黄149128199
df1 - 100

语文数学英语
小明-41-74-42
小红-86-26-47
小黄-51-72-1

df1 * 100 

语文数学英语
小明590026005800
小红140074005300
小黄490028009900

df1 / 100

语文数学英语
小明0.590.260.58
小红0.140.740.53
小黄0.490.280.99

df1 % 10

语文数学英语
小明968
小红443
小黄989

df1 ** 2

语文数学英语
小明34816763364
小红19654762809
小黄24017849801

DataFrame之间的运算

# 必须匹配行和列的索引df1 + df2

语文数学英语
小明8450116
小红85144145
小黄121115179

使用 .add() 函数,填充数据

df3 = pd.DataFrame(    data = np.random.randint(10,100,size=(4,4)),    index = ["小明","小红","小黄","小绿"],    columns = ["语文","数学","英语","物理"])display(df1,df3)

语文数学英语
小明592658
小红147453
小黄492899

语文数学英语物理
小明30405959
小红46725696
小黄25209973
小绿92784144

df1 + df3

数学物理英语语文
小明66.0NaN117.089.0
小红146.0NaN109.060.0
小绿NaNNaNNaNNaN
小黄48.0NaN198.074.0
# 先填充0,再相加df1.add(df3,fill_value=0)

数学物理英语语文
小明66.059.0117.089.0
小红146.096.0109.060.0
小绿78.044.041.092.0
小黄48.073.0198.074.0

# 除法df1.divide(df3,fill_value=2)

数学物理英语语文
小明0.6500000.0338980.9830511.966667
小红1.0277780.0208330.9464290.304348
小绿0.0256410.0454550.0487800.021739
小黄1.4000000.0273971.0000001.960000

2. Series与DataFrame之间的运算

  • 使用Python操作符:以行为单位操作(参数必须是行),对所有行都有效

    • 类似于NumPy中二维数组与一维数组的运算,但可能出现NaN

  • 使用Pandas操作函数:

    • axis=0:以列为单位操作(参数必须是列),对所有列都有效

    • axis=1:以行为单位操作(参数必须是行),对所有行都有效

s = pd.Series([100,10,1],index=df1.columns)s
语文    100
数学     10
英语      1
dtype: int64
df1 + s

语文数学英语
小明1593659
小红1148454
小黄14938100
 

df1.add(s)

语文数学英语
小明1593659
小红1148454
小黄14938100

# axis:(0 or "index",1 or "columns"),默认为列df1.add(s,axis="columns")

语文数学英语
小明1593659
小红1148454
小黄14938100

df1.add(s,axis=1)

语文数学英语
小明1593659
小红1148454
小黄14938100

s = pd.Series([100,10,1],index=df1.index)s
小明    100
小红     10
小黄      1
dtype: int64
# 行df1.add(s,axis=0)

语文数学英语
小明159126158
小红248463
小黄5029100

df1.add(s,axis="index")

语文数学英语
小明159126158
小红248463
小黄5029100

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

手把手教你搭建一个花店小程序商城

如果你是一位花店店主,想要为你的生意搭建一个精美的小程序商城,以下是你将遵循的五个步骤。 步骤1:登录乔拓云平台进入后台 首先,你需要登录乔拓云平台的后台管理页面。你可以在电脑或移动设备上的浏览器中输入乔拓云的官方网站…

初始Java篇(JavaSE基础语法)—— 内部类

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:JavaSE 目录 内部类的概念 内部类的种类 使用举例: 1. 静态内部类: 2. 实例内部类 3. 局部内部类 4. 匿名内部…

深度学习-Softmax回归+损失函数+图像分类数据集

目录 Softmax回归回归 VS 分类Kaggle上的分类问题 从回归到多类分类回归分类从回归到多类分类-均方损失从回归到多类分类-无校验比例从回归到多类分类-校验比例 Softmax和交叉熵损失总结损失函数均方损失绝对值损失函数鲁棒损失 图像分类数据集通过框架中内置函数将FashionMNIS…

二叉树顺序结构及链式结构

一.二叉树的顺序结构 1.定义:使用数组存储数据,一般使用数组只适合表示完全二叉树,此时不会有空间的浪费 注:二叉树的顺序存储在逻辑上是一颗二叉树,但是在物理上是一个数组,此时需要程序员自己想清楚调整…

vue小记——小组件(1)

代码&#xff1a; <template><div><el-steps :active"active" finish-status"success" simple><el-step title"数据导入"><i class"fa fa-cloud-upload fa-icon-custom" slot"icon"></i…

一文带你了解所有常用排序算法

目录 快速排序 堆排序 桶排序 归并排序 拓扑排序 本文主要介绍那些我在刷题过程中常用到的排序算法: 快速排序,堆排序,桶排序,归并排序,拓扑排序 其余算法例如冒泡,插入这种效率特别低的算法就不介绍了,用的可能性极小 每一个算法都将采用例题加解释的方式进行介绍 快速…

创意无限,设计所需——Affinity Designer for Mac/win强大登场

在当今数字设计领域&#xff0c;寻找一款功能强大、操作简便的矢量图设计软件并不容易。然而&#xff0c;Affinity Designer 凭借其出色的性能和令人惊艳的功能&#xff0c;在众多设计师中脱颖而出&#xff0c;成为了首选软件之一。今天&#xff0c;让我们一起来探索 Affinity …

【深度学习】与【PyTorch实战】

目录 一、深度学习基础 1.1 神经网络简介 1.2 激活函数 1.3 损失函数 1.4 优化算法 二、PyTorch基础 2.1 PyTorch简介 2.2 张量操作 2.3 构建神经网络 2.4训练模型 2.5 模型评估 三、PyTorch实战 3.1 数据加载与预处理 3.2 模型定义与训练 3.3 模型评估与调优 3…

618购物节快递量激增,EasyCVR视频智能分析助力快递网点智能升级

随着网络618购物节的到来&#xff0c;物流仓储与快递行业也迎来业务量暴增的情况。驿站网点和快递门店作为物流体系的重要组成部分&#xff0c;其安全性和运营效率日益受到关注。为了提升这些场所的安全防范能力和服务水平&#xff0c;实施视频智能监控方案显得尤为重要。 一、…

领券拿外卖返利红包,最低0元吃外卖

小蚕荟是利用本地资源和自媒体优势构建的“本地生活服务”平台&#xff0c;总部位于杭州&#xff0c;旨在为用户提供热门的吃喝玩乐本地生活服务类产品。布局已覆盖杭州、南京、上海等一二线城市。 小蚕荟是一款专为用户吃外卖省钱的生活工具&#xff0c;单单可返利15元起&…

【教学类-58-03】黑白三角拼图03(4*4宫格)总数算不出+随机抽取10张

背景需求&#xff1a; 【教学类-58-01】黑白三角拼图01&#xff08;2*2宫格&#xff09;256种-CSDN博客文章浏览阅读318次&#xff0c;点赞10次&#xff0c;收藏12次。【教学类-58-01】黑白三角拼图01&#xff08;2*2宫格&#xff09;256种https://blog.csdn.net/reasonsummer/…

数组-求和为k的连续子数组

一、题目描述 二、题目思路 这里注意&#xff1a;题目要求时间、空间复杂度都为O(n)&#xff0c;所以不能直接通过双层循环来暴力解(时间复杂度为O&#xff08;n&#xff09;)&#xff0c;可以使用Map实现。 1. 遍历数组计算sum(i)&#xff0c;Map记录sum值第一次出现的位置&…

STM32 MAP文件结合固件文件分析

文章目录 加载域的结束地址并不是固件的结束地址&#xff1f;ROM中执行域的描述RAM中执行域的描述问题分析 中断向量表在固件中的存储位置代码段在固件中的位置只读数据Regin$$Table RW Data段其中的内部机理 总结 MAP 文件分析可以参考之前的文章 程序代码在未运行时在存储器…

LeetCode刷题之HOT100之多数元素

2024/5/21 起床走到阳台&#xff0c;外面绵柔细雨&#xff0c;手探出去&#xff0c;似乎感受不到。刚到实验室&#xff0c;窗外声音放大&#xff0c;雨大了。昨天的两题任务中断了&#xff0c;由于下雨加晚上有课。这样似乎也好&#xff0c;不让我有一种被强迫的感觉&#xff0…

SpringCloud Alibaba Nacos分类配置--多方案配置隔离

文章目录 Nacos 分类配置(实现配置隔离)1.DataID 方案需求分析/图解配置实现测试 2.Group 方案需求分析/图解配置实现修改application.yml修改bootstrap.yml测试 3.Namespace 方案需求分析/图解配置实现修改application.yml修改bootstrap.yml测试 Namespace/Group/Data ID 关系…

基于springboot+vue+Mysql的逍遥大药房管理系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

EfficientSAM分割对象后求其中图像中的高

1 分割对象 EfficientSAM https://github.com/yformer/EfficientSAM 2 计算在图像中最高点即y值最小点 import os import cv2def read_images(folder_path):image_files [f for f in os.listdir(folder_path) iff.endswith(".jpg") or f.endswith(".png&quo…

文心智能体-恋爱专家

⭐简单说两句⭐ ✨ 正在努力的小叮当~ &#x1f496; 超级爱分享&#xff0c;分享各种有趣干货&#xff01; &#x1f469;‍&#x1f4bb; 提供&#xff1a;模拟面试 | 简历诊断 | 独家简历模板 &#x1f308; 感谢关注&#xff0c;关注了你就是我的超级粉丝啦&#xff01; &a…

邮件系统数据面临的安全问题及解决方法

随着电子邮件的普及&#xff0c;邮件系统已成为企业、学校、个人等用户之间进行信息交流的重要工具。然而&#xff0c;随着数据量的增加和用户对邮件系统的依赖&#xff0c;邮件系统数据安全问题也逐渐凸显。下面U-Mail技术张工就给大家讲解一下邮件系统数据面临的主要安全问题…

CCF-GESP 等级考试 2023年9月认证C++四级真题

2023年9月 一、单选题&#xff08;每题2分&#xff0c;共30分&#xff09; 第 1 题 ⼈们所使⽤的⼿机上安装的App通常指的是&#xff08; &#xff09;。 A. ⼀款操作系统B. ⼀款应⽤软件C. ⼀种通话设备D. 以上都不对 第 2 题 下列流程图的输出结果是&#xff1f;( ) A. 9B.…