pandas ~运算符什么时候有用,为什么它是必要的!=已经存在了?

8xiog9wr  于 2023-06-20  发布在  其他
关注(0)|答案(1)|浏览(146)

我经常看到pandas语句中使用~操作符,这些操作符被提供关于stackoverflow的帮助,但我想不出有什么时候需要使用它,因为!=自然地首先出现在我的脑海中。所以我想知道它为什么存在。
例如,这句话:
(df['col_A'] > 100) & ~(df['col_A'] == 120)
...可以简单地写为:
(df['col_A'] > 100) & (df['col_A'] != 120)
我想一定有一些情况下,一个人必须使用~,但它们是什么?

sy5wg1nm

sy5wg1nm1#

保持内容简单易读很重要,这也是使用equals =而不是equals !=的一个很好的理由。
能够有一个逻辑not ~是很重要的,因为它可以应用于许多场景,并且在这种情况下可以清楚地将equals更改为not equals。有时候应用布尔逻辑会增加复杂性,可能需要更好地理解demorgans定律https://en.wikipedia.org/wiki/De_Morgan%27s_laws
有不止一种方法来实现这一点是可以的,因为这两种方法增加了语言的灵活性和易用性。

相关问题