栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

熊猫数据框中的逻辑或/按位或

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

熊猫数据框中的逻辑或/按位或

据我了解的这个问题(来自C 的背景,目前正在学习Python的数据科学),我偶然发现了几篇文章,建议可以在类中重载按位运算符(&,|),就像C

一样。

因此,基本上,虽然您可以在数字上使用此类按位运算符,但它们将比较这些位并为您提供结果。因此,例如,如果您具有以下条件:

1 | 2#将导致3

Python实际要做的是比较这些数字的位:

00000001 | 00000010

结果将是:

00000011(因为0 | 0为False,因此为ergo 0; 0 | 1为True,因此为ergo 1)

作为整数:3

它比较数字的每一位,并吐出这八个连续操作的结果。这是这些操作员的正常行为。

输入熊猫。当您可以使这些运算符重载时,Pandas便利用了此功能。因此,当涉及到熊猫数据帧时,按位运算符将执行以下操作:

(dataframe1 [‘column’] ==“表达式”)&(dataframe1 [‘column’]!=“另一个表达式)

在这种情况下,第一个熊猫将根据==和!=运算的结果创建一系列对错(请
注意:您必须在括号外加上大括号,因为python始终会尝试解析第一个按位运算符,然后其他比较运算符!!
)。因此,它将列中的每个值与表达式进行比较,并输出true或false。

然后,您将获得两个相同长度的对与错。然后,要做的是将这两个系列取而代之,然后将它们与“和”(&)或“或”(|)进行比较,最后吐出一个单独的系列,即满足或不满足所有三个比较操作。

更进一步,我认为幕后情况是&运算符实际上调用了pandas函数,为它们提供了先前评估过的运算(因此运算符左右两个序列),然后将pandas比较一次使用两个不同的值,并根据确定该值的内部机制返回True或False。

这基本上是它们用于所有其他运算符(>,<,> =,<=,==,!=)的相同原理。

当您获得优美而整洁的“ and”时,为什么还要进行斗争并使用不同的表达?好吧,这似乎是因为“和”只是硬编码,不能手动更改。

希望有帮助!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/648624.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号