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_pool
pyarrow.MemoryPool, 可选 如果不传递,将从默认内存池分配内存。