上周公司对所有员工封闭培训了一个星期,期间没收手机,基本上博客的更新都停止了,尽管培训时间不长,但还是有些收获,不仅来自于培训讲师的,更多的是发现自己与别人的不足,一个优秀的人不仅仅是自己专业那块的精通,自己还有很多内功和外功需要修炼,人生很长,拼的是坚持。培训回来了就开始马不停蹄的复习自己之前学的东西,业精于勤荒于嬉是非常有道理的,不希望自己中间的断档就将博客给彻底荒废了。上一篇复盘的是选择行和列,这是利用python操作数据的基础和根本。本文将总结基本的算术运算规则。

算术运算

对于两个对象进行加减乘除的算数运算时,如果两个对象有不同的索引对,那么运算结果的索引就是该索引对的并集。而结果集索引对应的值是两个对象相同索引对应的值相加减乘除,不同的索引对应的值统一为NaN。比方说张三有梨子3个,苹果2个;李四有橘子1个,猕猴桃3个,苹果1个,梨子5个。那么张三和李四加起来的结果就是梨子8个,苹果3个,橘子未知,猕猴桃未知。这里的水果名即为索引,两者相同索引对应的值会相加,而不同索引对应的值将为NaN。

1.1 Series之间的运算

示例:

1.2 DataFrame之间的运算

示例:

从上述例子上看可以发现DataFrame之间运算时,是行索引和列索引一起进行对齐操作,运算后的结果集的行索引是两者行索引的并集,结果集的列索引是两者列索引的并集。而行列对应的数值是df1和df2中相同行索引和相同列索引定位到的那个数值相加,如果两者的行索引或者列索引不相同数值将填充为NaN.

1.3 DataFrame与Series之间的运算

示例:

从以上示例可以看出两个相减时是从df1中匹配m中的列索引,匹配上了的就将df1的每一行都减去对应m的值。比如m中a,d是与df1相同的,那么df1的a,d两列的每一行都要减去m的a,d两个值。df1其他没匹配上的填充为NaN。

如果是按照行匹配,每列来运算,则利用轴标记来指定。

示例:

axis=0表示希望匹配的轴是行,按照行来匹配,减去每列的数值。

pandas数据处理基础——基础加减乘除的运算规则的更多相关文章

  1. python基础-基础知识(包括:函数递归等知识)

    老男孩 Python 基础知识练习(三) 1.列举布尔值为 False 的值空,None,0, False, ", [], {}, () 2.写函数:根据范围获取其中 3 和 7 整除的所有 ...

  2. pandas数据处理基础——筛选指定行或者指定列的数据

    pandas主要的两个数据结构是:series(相当于一行或一列数据机构)和DataFrame(相当于多行多列的一个表格数据机构). 本文为了方便理解会与excel或者sql操作行或列来进行联想类比 ...

  3. Pandas与Matplotlib基础

    pandas是Python中开源的,高性能的用于数据分析的库.其中包含了很多可用的数据结构及功能,各种结构支持相互转换,并且支持读取.保存数据.结合matplotlib库,可以将数据已图表的形式可视化 ...

  4. pandas网页操作基础

    ipython notebook 命令行输入ipython notebook 此时,浏览器会自动运行并打开ipython网页 基本操作 如上图所示,新建一个项目 导入相关模块,建立一个数据集 制造数据 ...

  5. pandas数据结构之基础运算笔记

    import pandas as pd import numpy as np s = pd.Series([1,3,5,6,8],index=list('acefh')) s.index # 读取行索 ...

  6. 基于pandas数据预处理基础操作

    # -*- coding: utf-8 -*- import numpy as np import pandas as pd #一.创建数据 #1.通过传递一个list对象来创建一个Series,pa ...

  7. R实战 第三篇:数据处理(基础)

    数据结构用于存储数据,不同的数据结构对应不同的操作方法,对应不同的分析目的,应选择合适的数据结构.在处理数据时,为了便于检查数据对象,可以通过函数attributes(x)来查看数据对象的属性,str ...

  8. pandas学习2(基础操作)

  9. Python3基础 运算 加减乘除、取余数

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

随机推荐

  1. python的高阶函数

    函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数. 高阶函数 定义:一个函数就可以接收另一函数作为参数,这种函数就称之为高阶函数. map/reduce Python ...

  2. php分布式缓存系统 Memcached 入门

    Memcached 是一个分布式的缓存系统, 但是 Memcachd 到底是什么意思,有什么作用呢?缓存一般用来保存一些经常被存取的数据和资源(例如:浏览器会将访问过的网页会话缓存起来),因为通过缓存 ...

  3. GMT-CMSP系统维护步骤整理

    一.关闭前端各服务1.北京代理,韩国代理节点nginx/etc/init.d/nginx stop2.关闭WEB1,WEB2 NGINX和PHPpkill nginx && pkill ...

  4. friend ---- public and private

    I mean the difference between: class A{public: friend class B;};and class A{private: //or nothing as ...

  5. JavaScript里的循环方法:forEach,for-in,for-of

    JavaScript诞生已经有20多年了,我们一直使用的用来循环一个数组的方法是这样的: for (var index = 0; index < myArray.length; index++) ...

  6. redis节点管理-新增主节点

    原文:http://blog.sina.com.cn/s/blog_53b45c4d0102wg11.html 集群节点添加 节点新增包括新增主节点.从节点两种情况.以下分别做一下测试: 1.新增主节 ...

  7. 关于weblogic server对docker的支持

    Docker是目前比较热门的一个技术话题,WebLogic Server从12.1.3版本支持Docker,但对于操作系统和内核有一定的要求,具体参考下表 我曾在ubuntu,Oracle Enter ...

  8. 一个简单好用的zabbix告警信息发送工具

    之前使用邮件和短信发送zabbix告警信息,但告警信息无法实时查看或者无法发送,故障无法及时通知运维人员. 后来使用第三方微信接口发送信息,愉快地用了一年多,突然收费了. zabbix告警一直是我的痛 ...

  9. Kali 2.0安装与使用指南

    阅读目录 (1)如果坚持用系统自带浏览器,其汉化方法: (2)如果有强迫症删了系统自带浏览器,然后重新安装了一个新的火狐可能遇到的问题: (3)如果你有火狐账号,你登陆了发现书签和插件没有同步? (4 ...

  10. http://www.blogjava.net/zJun/archive/2006/06/28/55511.html

    http://www.blogjava.net/zJun/archive/2006/06/28/55511.html http://www.cnblogs.com/alipayhutu/archive ...