pyarrow.compute.case_when#

pyarrow.compute.case_when(cond, /, *cases, memory_pool=None)#

根据多个条件选择值。

cond 必须是一个布尔值的结构体(struct)。cases 可以是标量和数组参数的混合(可以是任意类型,但所有参数必须是相同类型或可转换为通用类型)。参数数量要么等于 cond 的子项数量,要么比 cond 的子项数量多一个(在这种情况下,多出的参数作为“else”值)。

输出的每一行将取 cases 中第一个对应 cond 子项为真的值;如果所有条件都不满足,则取“else”值(如果提供的话),否则取 null。

本质上,这实现了 switch-case 或 if-else, if-else… 语句。

参数:
cond类数组(Array-like)或类标量(scalar-like)

计算函数的参数。

*cases类数组(Array-like)或类标量(scalar-like)

计算函数的参数。

memory_poolpyarrow.MemoryPool, 可选

如果不传递,将从默认内存池分配内存。