Pandas知识点-equals()与==的区别Python 碎片共 1510字,需浏览 4分钟 ·2021-05-21 18:55 在Pandas中,equals()方法用于验证数据是否等效。验证等效性需要进行比较,上一篇文章介绍了比较操作。比较操作参考:Pandas知识点-比较操作==和eq()方法可以用于比较Pandas中的数据,那equals()和它们有什么区别呢?本文会进行介绍。一、返回值不同equals()方法的返回值是一个布尔值。如果两个被比较数据中的所有元素都相同,则equals()返回True,否则返回False。==比较两个DataFrame时,结果是一个由布尔值构成的DataFrame,比较两个Series时,结果是一个由布尔值构成的Series。equals()的返回值相当于用numpy中的all()函数对==的结果再做一次判断。不过,因为equals()和==的内部判断是有差异的,所以equals()与np.all(df1==df2)并不完全等价,可以继续看下面的介绍。二、索引值对结果的影响不同equals()比较两个DataFrame或Series,索引值相等的列或行可以进行比较,如索引1和1.0分别是整数和浮点数,但值是相等的,对应的行或列可以进行比较。==比较两个DataFrame或Series,索引值相等时也可以进行比较,不过结果的索引会有变化,取决于比较的顺序。具体来说,比较结果的索引与==左边的DataFrame或Series相同。而使用eq()方法时,比较结果的索引与调用eq()的DataFrame或Series相同。三、对空值的判断结果不同equals()比较时,DataFrame或Series中的空值可以判断为相等。具体来说,两个np.NaN,两个None,两个pd.NaT,np.NaN与None这四种情况的比较结果都是相等的。而pd.NaT与np.NaN和None的比较结果为不相等。==比较时,空值的比较结果都是不相等。从Python解释器层面来判断,两个np.NaN和两个pd.NaT的比较结果都不相等,所以用==比较时,DataFrame中对应位置的结果为False。两个None的比较结果虽然相等,但因为在的DataFrame中None表示的是np.NaN,所以比较结果也为False。np.NaN和None比较也一样,结果为False。这也是前面说equals()与np.all(df1==df2)不完全等价的原因。在判断两个DataFrame或Series是否等效时,空值对我们来说都是一样的。我们期望的结果是将空值判断为相等,这样可以避免空值对其他数据比较结果的干扰。equals()用于判断两个数据是否等效,刚好可以用于这样的场景。当然,也可以先将空值替换成其他值后再比较,那就是另一种方式了。四、与array的比较不同equals()比较DataFrame和array时,即使DataFrame与array的形状相同,数据也完全相同,比较结果也是False。原因是array没有索引,而equals()支持传入的参数是DataFrame或Series,不支持array。==可以将DataFrame与array进行比较,比较结果为DataFrame。以上就是Pandas中equals()与==的区别介绍,如果需要本文代码,可以点击关注公众号“Python碎片”,然后在后台回复“pandas11”关键字获取完整代码。 浏览 45点赞 评论 收藏 分享 手机扫一扫分享分享 举报 评论图片表情视频评价全部评论推荐 面试:请说一下equals和==的区别?Java仓库0一文搞懂==、equals和hashCode=的区别凯哥java06个冷门但实用的pandas知识点小数志06个冷门但实用的pandas知识点Crossin的编程教室06个冷门但实用的pandas知识点Python大数据分析0CRM与SCRM的区别想要了解SCRM是什么,必须先说一下SCRM和CRM的区别,传统的CRM是将了解用户需求作为实现企业目标的手段之一,着重于让用户直接消费以达成销售目的。但这种链接在当下的社会环境中显得异常脆弱,用户已经对单向输出式的“强制消费”产生免疫,维系客户的效果远不如前。所以说,CRM的管理对象只是单一的消费者,用户在交易过程中更像是一个只会掏钱的“工具人”。 对比而言,SCRM就更以用户本身为核心,侧重的是用户背后的社交网络价值,它能根据用户的交易数据和画像进行自动化分析,并贴上具体社会化标签,从而在今后能推送更精准的营销内容,实现营销的自动化和精细化。 换句话说:SCRM相较于传统CRM,是顺应现代人际交流方式的一次工具升SpringCloud与Dubbo的区别码农突围0AtomicStampedReference与AtomicMarkableReference的区别王猴卖瓜0DTO与Entity的区别跟着阿笨一起玩NET0SCRM与CRM的区别一、SCRM是什么? 常见的CRM系统大家都不陌生,全译:Customer Relationship Management,我们也常常称呼为客户关系管理。 那么,SCRM这个多出来的S代表什么呢? SCRM,全译:Social Customer Relationship Management ,可以看见在CRM全译的基础上多了Social,也就是融合社交,属于CRM的一种含义的扩展。 在移动互联网时代,社交平台为企业提供了更多商业的可能,比如,基于社交平台完成用户信息数据搜集,再进行清洗和整理,梳理关系网络,掌握用户行为轨迹。建立社群,开展会员粉丝互动,同时也为企业提供反馈渠道,有效帮助企业提高营销效率,改进企业服务和商品。点赞 评论 收藏 分享 手机扫一扫分享分享 举报