我目前在DataFrame中使用savgol filter,它有3列x、y、z,其中包含来自微控制器的信号的浮点值
在Pandas中是直接的
df["x"] = savgol_filter(df["x"], 51, 1)
df["y"] = savgol_filter(df["y"], 51, 1)
df["z"] = savgol_filter(df["z"], 51, 1)
如何在polar df中实现相同功能
我试过用这种方法
df.with_columns([
(savgol_filter(df["x"], 51, 1)).alias("x"),
(savgol_filter(df["y"], 51, 1)).alias("x"),
(savgol_filter(df["z"], 51, 1)).alias("x"),
])
上面的代码返回属性错误。“numpy.ndarray”对象没有属性“alias”
编辑:我的问题相当简单,在polars DataFrame中实现scipy过滤器的正确语法/方法是什么?
1条答案
按热度按时间0s0u357o1#
因此,在极坐标中使用自定义函数的一般方法取决于您是想在单个元素(
apply
)上还是在整个系列(map
)上使用它们。在您的情况下,它将是整个系列。有关这两个选项的更详细说明,您可以查看用户指南here因此,根据您希望更改整个DataFrame还是保留原始列,这里有两种解决方案:
数据
溶液1
溶液2
如果不想对所有列应用该函数,可以将
pl.all()
替换为pl.col("x")