我经常看到pandas语句中使用~操作符,这些操作符被提供关于stackoverflow的帮助,但我想不出有什么时候需要使用它,因为!=自然地首先出现在我的脑海中。所以我想知道它为什么存在。例如,这句话:(df['col_A'] > 100) & ~(df['col_A'] == 120)...可以简单地写为:(df['col_A'] > 100) & (df['col_A'] != 120)我想一定有一些情况下,一个人必须使用~,但它们是什么?
~
!=
(df['col_A'] > 100) & ~(df['col_A'] == 120)
(df['col_A'] > 100) & (df['col_A'] != 120)
sy5wg1nm1#
保持内容简单易读很重要,这也是使用equals =而不是equals !=的一个很好的理由。能够有一个逻辑not ~是很重要的,因为它可以应用于许多场景,并且在这种情况下可以清楚地将equals更改为not equals。有时候应用布尔逻辑会增加复杂性,可能需要更好地理解demorgans定律https://en.wikipedia.org/wiki/De_Morgan%27s_laws有不止一种方法来实现这一点是可以的,因为这两种方法增加了语言的灵活性和易用性。
=
1条答案
按热度按时间sy5wg1nm1#
保持内容简单易读很重要,这也是使用equals
=
而不是equals!=
的一个很好的理由。能够有一个逻辑not
~
是很重要的,因为它可以应用于许多场景,并且在这种情况下可以清楚地将equals更改为not equals。有时候应用布尔逻辑会增加复杂性,可能需要更好地理解demorgans定律https://en.wikipedia.org/wiki/De_Morgan%27s_laws有不止一种方法来实现这一点是可以的,因为这两种方法增加了语言的灵活性和易用性。