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 代表列。 我去。。。。

最新文章

  1. 了解HTML 元素分类
  2. 【Linux_Fedora_应用系列】_2_如何安装视频播放器和视频文件解码
  3. LeetCode Count of Range Sum
  4. 网易新闻优化APK下载链接
  5. java 调用 phantomjs
  6. javascript——base64
  7. ubuntu下的supervisor启动express失败问题
  8. ASP.NET页面之间传递值的几种方式(转载)
  9. jQuery实现父窗口的问题
  10. zepto callback
  11. appium执行iOS测试脚本并发问题
  12. 基于C#的数据库文件管理助手
  13. “卷积神经网络(Convolutional Neural Network,CNN)”之问
  14. expect实现自动交互由浅入深
  15. 【Java基础】【16List集合】
  16. UGUI自定义组件之Image根据Text大小自动调整
  17. Idea配置CheckStyle
  18. 『实践』百度地图给map添加右键菜单(判断是否为marker)
  19. PBR Step by Step(一)立体角
  20. 高性能Go并发

热门文章

  1. SpringCloudAlibaba分布式流量控制组件Sentinel实战与源码分析-中
  2. 静态代码块和数组工具类Arrays
  3. Ant Design Vue 走马灯实现单页多张图片轮播
  4. 未找到与名为“xxx”的控制器匹配的类型。
  5. 5-4 Seata 分布式事务管理
  6. shell查询prometheus数据
  7. 算法竞赛进阶指南0x33同余
  8. 使用传统的方式遍历集合对集合中的数据进行过滤和使用Stream流的方式遍历集合对集合中的数据进行过滤
  9. 零基础学Java(13)方法参数
  10. JavaWeb--基本概念、Web服务器与Tomcat