假设我有一个表,有两列:日期和金额。行数不超过3000
行日期金额
2021年5月15日248
2021年5月16日115
3 2021年5月17日387
4 2021年5月18日214
52019/05/2021678
2021年5月6日20 489
2021年5月7日875
2021年5月8日123
我需要添加第三列,它将根据Amount列计算修剪平均值
我将使用这个函数:my_table['TrimMean']=stats.trim_mean(my_table['Amount'],0.1),但适合我的问题
问题在于,这不是一个固定范围,而是一个动态范围,遵循以下逻辑:对于我表格中的每一行,修剪平均值将基于金额列的前90个值计算,从当前行上方的行开始。如果少于90个值,则使用任何可用行数进行计算
例如,TrimMean[1000]=统计数据trim_-mean(包含第910行到第999行值的列金额数组)TrimMean[12]=统计数据trim_-mean(包含第1行到第11行值的列金额数组)
希望这是有道理的
有没有什么方法可以用一种简单的方法来计算,而不用逐行迭代
我们可以通过在大小为
90
和min_periods=1
的rolling
窗口上应用函数来计算trim_mean
相关问题 更多 >
编程相关推荐