![](/img/trans.png)
[英]Trying to condense data in several columns across multiple rows based on a common column value - python/pandas
[英]python: condense conditional OR that check several variables equal to a common value
假设我要压缩以下代码行:
if a == 10 or b == 10 or sum == 10 or diff == 10:
# do something
有没有一种方法可以将所有这些ors压缩为一个值?
就像是:
if (a or b or sum or diff) == 10:
# do something
翻转它
if 10 in {a, b, sum, diff}
应该起作用
要概括更多的值,请使用以下命令:
if {val1, val2, val3} & {a, b, sum, diff}
if 10 in [a, b, sum, diff]:
但是,请注意,这仅适用于单个公共值。 如果您有两个值要与四个不同的变量进行比较,那么您就不会获得如此容易实现的“分配定律”。
它不是很短,但是我会使用内置的any()
:
any(val == x for val in (a, b, c))
在您的情况下:
if any(val == 10 for val in (a, b, sum, diff)):
# do something
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.