上周公司对所有员工封闭培训了一个星期,期间没收手机,基本上博客的更新都停止了,尽管培训时间不长,但还是有些收获,不仅来自于培训讲师的,更多的是发现自己与别人的不足,一个优秀的人不仅仅是自己专业那块的精通,自己还有很多内功和外功需要修炼,人生很长,拼的是坚持。培训回来了就开始马不停蹄的复习自己之前学的东西,业精于勤荒于嬉是非常有道理的,不希望自己中间的断档就将博客给彻底荒废了。上一篇复盘的是选择行和列,这是利用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. bzoj 2468: [中山市选2010]三核苷酸

    2468: [中山市选2010]三核苷酸 Description 三核苷酸是组成DNA序列的基本片段.具体来说,核苷酸一共有4种,分别用’A’,’G’,’C’,’T’来表示.而三核苷酸就是由3个核苷酸 ...

  2. Web安全测试指南--文件系统

    上传: 编号 Web_FileSys_01 用例名称 上传功能测试 用例描述 测试上传功能是否对上传的文件类型做限制. 严重级别 高 前置条件 1.  目标web应用可访问,业务正常运行. 2.  目 ...

  3. 研究人员发现绝大部分酷派(Coolpad)手机暗藏后门(转)

    隐私问题被曝光得越来越多,随着物联网的发展,只会变得越来越严重,不过从当前看来 ,国人对隐私的重视度还远没有国外,期待加强对隐私的保护策略.   转自:http://www.freebuf.com/n ...

  4. HDU 4635 Strongly connected (2013多校4 1004 有向图的强连通分量)

    Strongly connected Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  5. 也来讲REST、SOAP

    在GIS网络开发过程中不可避免的的会涉及到REST(Representational State Transfer)的服务.自从Roy Fielding博士在2000年他的博士论文中提出REST风格的 ...

  6. Sata win7 热插拔(AHCI)

    主板支持AHCI,把sata模式改成AHCI,在bios打开SATA热插拔开关 开启AHCI,需要修改注册表:HKEY_LOCAL_MACHINE\System\CurrentControlSet\S ...

  7. [Git] git shortlog 找出最懒的程序员

    转载:http://blog.csdn.net/qinjienj/article/details/7795802 场景假设:一个开发小组有10个程序员,他们用 Git 做版本控制,某一天程序员A pu ...

  8. [转]CodeSmith 基础教程

    本文转自:http://www.cnblogs.com/sorex/archive/2009/12/24/1631533.html 〇.            前言 最近两天自己写了个简单的ORM框架 ...

  9. iOS:2015年07月最新苹果IOS上架App Store商店步骤

    苹果官方在2015年05-06月开发者中心进行了改版,网上的APP Store上架大部分都不一样了,自己研究总结一下,一个最新的上架教程以备后用. 原文地址:http://www.16css.com/ ...

  10. 阻止jQuery事件冒泡

    Query对DOM的事件触发具有冒泡特性.有时利用这一特性可以减少重复代码,但有时候我们又不希望事件冒泡.这个时候就要阻止 jQuery.Event冒泡. 在jQuery.Event 的文档 中的开头 ...