Numpy 的基本能力之一是快速对每个元素进行运算

Pandas 继承了Numpy的功能,也实现了一些高效技巧。

  • 对于1元运算,(函数,三角函数)保留索引和列标签
  • 对于2元运算,(加法,乘法),Pandas 会自动对齐索引进行计算。

通用函数:保留索引

对ser对象或 df对象使用Numpy通用函数,生成的结果是另一个保留索引的Pandas对象。



通用函数: 索引对齐

当Series 或 DataFram对象进行二元计算,会对齐俩个对象的索引

当处理不完整的额数据时,这一点非常方便

Series索引对齐



俩个相除



结果数组索引是:俩个输入数组索引的并集,

对于确实位置的数据,Pandas会用NaN填充,表示此处无数。

DataFrame索引对齐





A + B

行列索引的顺序可以不同。结果的索引会自动按顺序排列。

可以通过fill_value 参数自定义缺失值,注意:fill_value填充在A上,然后与B相加,不是运算之后再填fill_value.

DataFrame 与 Series的运算

需要对一个DataFrame和一个Series运算,行列对齐方式与之前类似, 与Numpy 二维数组与一维数组的运算规则是一样的。

广播。

numpy 二维数组和一维数组计算



默认按行运算。

Pandas也是默认按行运算



按列计算,使用axis参数。

处理缺失值

缺失值三种形式:null NaN NA

识别缺失值的方法:

1)覆盖全局的掩码

2)用一个标签值

Pandas的缺失值

综合考量:Pandas最终选择标签方法表示缺失值。 浮点数据类型的NaN值,以及None对象。

  • None: Python对象类型的缺失值

    由于None是一个Python对象,所以不能作为任何Numpy/Pandas数组类型的缺失值。

    Python中没有定义None和整数之间的加法运算
  • NaN:数值类型的缺失值

    NaN: not a number. 任何系统中都兼容的特殊浮点数

NaN是一个数据类病毒,会同化和它接触的数据, 进行何种操作,结果都是NaN



Numpy也提供了特殊的累计函数,可以忽略缺失值的影响

np.nansum() nanmin() nanmax()

处理缺失值

  • 发现缺失值 isnull() notnull()



    isnull() 创建一个布尔类型的掩码标签 缺失值



    notnull() 与 isnull()相反

布尔类型掩码数组可以直接作为Series或DataFrame的索引使用

  • 剔除缺失值 dropna()



    DataFrame 不太一样哦。



    我们没法从datafram单独剔除一个值。要么是整行,要么是整列。

    dropna()会剔除任何包含缺失值的整行数据



    剔除列,axis=1 or axis = 'columns'



    行或列全部是缺失值 剔除使用how=any,



    根据缺失值的数量 使用thresh 参数, 行或列中非缺失值的最小数量

  • 填充缺失值 fillna()



    使用0来填充缺失值



    从前往后填充



    从后往前填充

DataFrame一行。只是需要设置坐标轴参数

axis=1 代表行。

axis=0 代表列。 我去。。。。

Python数据科学手册-Pandas:数值运算方法的更多相关文章

  1. Python数据科学手册-Pandas:向量化字符串操作、时间序列

    向量化字符串操作 Series 和 Index对象 的str属性. 可以正确的处理缺失值 方法列表 正则表达式. Method Description match() Call re.match() ...

  2. Python数据科学手册-Pandas:累计与分组

    简单累计功能 Series sum() 返回一个 统计值 DataFrame sum.默认对每列进行统计 设置axis参数,对每一行 进行统计 describe()可以计算每一列的若干常用统计值. 获 ...

  3. Python数据科学手册-Pandas数据处理之简介

    Pandas是在Numpy基础上建立的新程序库,提供了一种高效的DataFrame数据结构 本质是带行标签 和 列标签.支持相同类型数据和缺失值的 多维数组 增强版的Numpy结构化数组 行和列不在只 ...

  4. Python数据科学手册-Pandas:数据取值与选择

    Numpy数组取值 切片[:,1:5], 掩码操作arr[arr>0], 花哨的索引 arr[0, [1,5]],Pandas的操作类似 Series数据选择方法 Series对象与一维Nump ...

  5. Python数据科学手册-Pandas:层级索引

    一维数据 和 二维数据 分别使用Series 和 DataFrame 对象存储. 多维数据:数据索引 超过一俩个 键. Pandas提供了Panel 和 Panel4D对象 解决三维数据和四维数据. ...

  6. Python数据科学手册-Pandas:合并数据集

    将不同的数据源进行合并 , 类似数据库 join merge . 工具函数 concat / append pd.concat() 简易合并 合并高维数据 默认按行合并. axis=0 ,试试 axi ...

  7. 100天搞定机器学习|day45-53 推荐一本豆瓣评分9.3的书:《Python数据科学手册》

    <Python数据科学手册>共五章,每章介绍一到两个Python数据科学中的重点工具包.首先从IPython和Jupyter开始,它们提供了数据科学家需要的计算环境:第2章讲解能提供nda ...

  8. Matplotlib 使用 - 《Python 数据科学手册》学习笔记

    一.引入 import matplotlib as mpl import matplotlib.pyplot as plt 二.配置 1.画图接口 Matplotlib 有两种画图接口: (1)一个是 ...

  9. python书籍推荐:Python数据科学手册

    所属网站分类: 资源下载 > python电子书 作者:today 链接:http://www.pythonheidong.com/blog/article/448/ 来源:python黑洞网 ...

随机推荐

  1. NC15979 小q的数列

    NC15979 小q的数列 题目 题目描述 小q最近迷上了各种好玩的数列,这天,他发现了一个有趣的数列,其递推公式如下: \[f[i] = \left\{ \begin{array}{l} 0 ,&a ...

  2. 抓包整理外篇fiddler———— 会话栏与过滤器[二]

    前言 简单介绍一下会话栏和过滤器 正文 在抓包的时候这两个可以说是必用吧. 会话栏: 会话栏我这里介绍根据左边部分和右边部分. 左边部分是一些图标,有些人发现有个习惯,不习惯看图标. 其实说白了,我们 ...

  3. Linux 批量杀死进程(详细版本)

    使用场景 当程序中有使用到多进程且进程数较多的情况,如下图,且需要通过控制台杀死所有的 GSM_run.py 的进程时,利用 kill 命令一个一个的去结束进程是及其耗时且繁琐的,这时就需要我们的ki ...

  4. 使用Runnable和Callable接口实现多线程的区别

    使用Runnable和Callable接口实现多线程的区别 先看两种实现方式的步骤: 1.实现Runnable接口 public class ThreadDemo{ public static voi ...

  5. lerna源码阅读

    能够找到入口文件 能够本地调试

  6. labview从入门到出家4--用事件结构实现运算功能

    使用事件结构可以快速定位响应界面的操作事件,如按下,拖动,双击的事件.基本上我们所要实现的所有功能,都可以通过条件结构+事件结构去实现,比如后面进阶篇将会讲到的状态机就是通过条件结构和事件结构组成的. ...

  7. 使用Docker搭建自己的Bitwarden密码管理服务

    相信身为开发者,总会在各种网站中注册账号,为了方面记忆可以使用同一套账号密码进行注册,自从前段时间学习通时间撞库后有些人已经开始疯狂改密码了,可是密码一多就很难记忆,最好找个地方存储账户信息 我曾经使 ...

  8. DHCP 动态主机设置协议 分析

    在TCP/IP网络中,每个接口都需要一个IP地址.子网掩码和广播地址( IPv6中没有),简单来说就是需要网络配置信息.如果想访问外部网络可以通过DNS获取外部地址,再通过路由间接转发出去.但是在&q ...

  9. Template -「网络流 & 二分图」

    EK. 很少用到,知道思想即可. 懒得写封装的屑. queue<int> q; int Cap[MAXN][MAXN], Flow[MAXN][MAXN], Aug[MAXN], fa[M ...

  10. javascript与事件

    javascript与事件 js常用事件 js捕捉回车键 js回调函数的event参数(一直都有传,就看你有没有接,有没有接的需求) event.keyCode(事件句柄:onkeydown) key ...