Pandas中怎么实现二进制操作

本篇文章给大家分享的是有关Pandas中怎么实现二进制操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、网站建设、古蔺网络推广、小程序定制开发、古蔺网络营销、古蔺企业策划、古蔺品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供古蔺建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

Pandas数据结构之间执行二进制操作,要注意下列两个关键点:

  • 多维(DataFrame)与低维(Series)对象之间的广播机制

  • 计算中的缺失值处理

匹配/广播机制

DataFrame支持add()、sub()、mul()、div()、radd()、rsub()等方法执行二进制操作。广播机制重点关注输入的Series,通过axis关键字,匹配index或columns即可调用这些函数。

Pandas中怎么实现二进制操作

还可以用Series对齐多层索引DataFrame的某一层次。

Pandas中怎么实现二进制操作

Series与Index还支持divmod()内置函数,该函数同时执行向下取整除与模运算,返回两个与左侧类型相同的元组。

divmod还支持元素级运算:

Pandas中怎么实现二进制操作

缺失值与填充缺失值

Series与DataFrame的算数函数支持fill_value选项,即用指定值替换某个位置的缺失值。比如,两个DataFrame相加,除非两个DataFrame里同一个位置都有缺失值,其相加的和仍为NaN,如果只有一个DataFrame里存在缺失值,则可用fill_value指定一个值来替代NaN,当然,也可以用fillna把NaN替换为想要的值。

Pandas中怎么实现二进制操作

比较操作

Series与DataFrame还支持eq、ne、lt、gt、le、ge等二进制比较操作的方法:

Pandas中怎么实现二进制操作

Pandas中怎么实现二进制操作

这些操作生成一个与左侧输入对象类型相同的Pandas对象,即dtype为bool。boolean对象可用于索引操作。

布尔简化

empty、any、all、bool可以把数据汇总简化至单个布尔值。

Pandas中怎么实现二进制操作

还可以进一步把上面的结果简化为单个布尔值。

Pandas中怎么实现二进制操作

通过empty属性,可以验证Pandas对象是否为空。

Pandas中怎么实现二进制操作

用bool方法验证单元素Pandas对象的布尔值

Pandas中怎么实现二进制操作

比较对象是否等效

一般情况下,多种方式都能得出相同的结构。以df+df与df*2为例。测试这两种计算方式的结构是否一致,大部分人都会用(df+df==df*2).all(),但是这个表达式的结果时False。

Pandas中怎么实现二进制操作

布尔型DataFrame df+df==df*2中有False值是因为两个NaN值的比较结果为不相等:

Pandas中怎么实现二进制操作

为了验证数据是否等效,Series与DataFrame等N维框架提供了equals()方法,用这个方法验证NaN值的结果为相等。

Pandas中怎么实现二进制操作

但这里要注意Series与DataFrame索引的顺序必须一致,验证结果才能为True。

Pandas中怎么实现二进制操作

比较array型对象

用标量值与Pandas数据结构对比数据元素非常简单:

Pandas中怎么实现二进制操作

Pandas还能对比两个等长array对象里的数据元素:

Pandas中怎么实现二进制操作

对此不等长的Index或Series对象会触发valueError:

Pandas中怎么实现二进制操作

但是这里的操作与NumPy的广播机制不同:

Pandas中怎么实现二进制操作

NumPy无法执行广播操作时,返回False:

Pandas中怎么实现二进制操作

以上就是Pandas中怎么实现二进制操作,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


分享文章:Pandas中怎么实现二进制操作
浏览路径:http://hbruida.cn/article/ipissj.html