python - Pandas 中命名的滚动聚合自定义函数
问题描述
我找不到正确命名应用于滚动窗口的自定义聚合函数的方法。
这个答案很好地解释了groupby
聚合。我试过使用pd.NamedAggregates
,像这样
df
.rolling(f"{num_days_window + 1}D", min_periods=day_length)
.aggregate(time_mean=pd.NamedAgg(column="time", aggfunc=lambda w: window_daily_stats(w, np.mean)),
time_std=pd.NamedAgg(column="time", aggfunc=lambda w: window_daily_stats(w, np.std)))
用于命名的嵌套字典已被弃用,因此这不是一个选项。传递元组也不起作用。
.rolling(f"{num_days_window + 1}D", min_periods=day_length)
.aggregate(time_mean=("time", lambda w: window_daily_stats(w, np.mean)),
time_std=("time", lambda w: window_daily_stats(w, np.std)))
在这两种情况下,错误是相同的:
TypeError: aggregate() missing 1 required positional argument: 'func'
我目前这样做的方式是向聚合函数传递一个包含column: list of functions
对的字典,但在这种情况下,结果列被命名
('time', '<lambda>'),
('time', '<lambda>'),
不幸的是,这并没有给我列的唯一值索引对象。
总而言之,我的问题是,如何为滚动窗口的自定义函数创建命名聚合?
解决方案
推荐阅读
- java - Apache Camel whenExchangeReceived 和 whenAnyExchangeReceived - 访问 Exchange
- python - 从 PDF 转换为图像时无法读取图像数据
- visual-studio - 如何在 VisualStudio 2017 的 ASP.net 项目中使用 Bootstrap-Vue?
- c# - SQL 脚本的 C# Linq 等效项没有响应
- python - 在键入文本时使散景 TextInput 回调响应
- python - 全局 numpy 数组在函数内部发生更改,但没有对其进行全局引用
- pseudocode - 记录类型伪代码的问题,显示每行的最后一列
- c++ - 从构造函数中的 catch 块调用析构函数是否安全?
- javascript - 渲染在异步方法结束之前运行。如何从我的异步方法将道具传递给组件?
- java - 之间的区别?扩展与 E 扩展