将文本导入极轴系列会将数据按列排列,这就是极轴(箭头)如此高效的原因。方法
apply
将计算跨行但不跨列的用户定义函数 (UDF)。因此,我正在寻找最快的方法来将我的 UDF 应用于每列。
这满足了我的需要,但它会导致 1 x n df 的封装系列很难解压。有谁有更好的想法来解压这个或如何按列应用?
谢谢!
目前,我
select
并在 2000 x n df 上按如下方式使用 map_batches
:
df_baseline_series = df.select(
pl.all().map_batches(lambda y: get_baseline(y.to_numpy()))
)
函数
get_baseline
使用 scikit-ued
函数返回 np.ndarray
:
baseline_dt(data, wavelet='qshift3', level=6, max_iter=1)
这给了我一个 1 x n df,每个元素都是一个双重嵌套系列(即一系列系列)。
我自己解决了这个问题。
map 函数需要返回一个序列,而不是一维 numpy 数组。
所以如果
get_baseline
返回这个,它就可以正常工作:
pl.Series(baseline_dt(data, wavelet='qshift3', level=6, max_iter=1))