小编Osc*_*agg的帖子

如何在Python极坐标表达式中执行元素最大两列?

如何计算表达式内 Polars 中两列的元素最大值?

极地版本 = 0.13.31

问题陈述作为代码:

import polars as pl
import numpy as np
df = pl.DataFrame({
    "a": np.arange(5),
    "b": np.arange(5)[::-1]
})
# Produce a column with the values [4, 3, 2, 3, 4] using df.select([ ... ]).alias("max(a, b)")
Run Code Online (Sandbox Code Playgroud)

我尝试过的事情

Polars 声称支持 numpy 通用函数(docs),其中包括 np.maximum ,它可以满足我的要求。但是,当我尝试这样做时,出现错误。

df.select([
    np.maximum(pl.col("a"), pl.col("b")).alias("max(a, b)")
])
# TypeError: maximum() takes from 2 to 3 positional arguments but 1 were given
Run Code Online (Sandbox Code Playgroud)

似乎没有为此内置的 Polars,pl.max但有,但这仅返回数组中的单个最大元素。

使用.map()

my_df.select([
    pl.col(["a", "b"]).map(np.maximum)
])
# PanicException …
Run Code Online (Sandbox Code Playgroud)

python dataframe python-polars

3
推荐指数
1
解决办法
2519
查看次数

标签 统计

dataframe ×1

python ×1

python-polars ×1