在数据框中添加一列,其中将包括特定数量的观测值的频率平均值

firmo23

我下面有日期和频率的数据框。我想添加第三列,以估计过去7天的平均值。鉴于这可以在'2020-09-18'以后的日期以及以后的日期中起作用,因为第一个日期是7天,所以第一个日期之前'2020-09-12'的平均值应基于存在的前几天的数量进行计算,否则应该保留2020-09-122020-09-17NAs

date<-c(as.Date("2020-09-15", "%Y-%m-%d"),as.Date("2020-09-14", "%Y-%m-%d"),
        as.Date("2020-09-13", "%Y-%m-%d"),as.Date("2020-09-12", "%Y-%m-%d"),
        as.Date("2020-09-15", "%Y-%m-%d"),as.Date("2020-09-14", "%Y-%m-%d"),
        as.Date("2020-09-13", "%Y-%m-%d"),as.Date("2020-09-12", "%Y-%m-%d"),
        as.Date("2020-09-16", "%Y-%m-%d"),as.Date("2020-09-17", "%Y-%m-%d"),
        as.Date("2020-09-18", "%Y-%m-%d"),as.Date("2020-09-19", "%Y-%m-%d"),
        as.Date("2020-09-20", "%Y-%m-%d"),as.Date("2020-09-21", "%Y-%m-%d"),
        as.Date("2020-09-22", "%Y-%m-%d"),as.Date("2020-09-23", "%Y-%m-%d"),
        as.Date("2020-09-24", "%Y-%m-%d"),as.Date("2020-09-25", "%Y-%m-%d"),
        as.Date("2020-09-26", "%Y-%m-%d"),as.Date("2020-09-27", "%Y-%m-%d"),
        as.Date("2020-09-28", "%Y-%m-%d"),as.Date("2020-09-29", "%Y-%m-%d"),
        as.Date("2020-09-30", "%Y-%m-%d"),as.Date("2020-10-01", "%Y-%m-%d"))
value<-c(5,6,7,8,-3,-5,6,8,5,6,7,8,-3,-5,6,8,5,6,7,8,-3,-5,6,8)
df<-data.frame(date,value)
df2<-data.frame(table(df$date))
催化剂RPA

frollmean是出色data.table封装的内存高效,快速解决方案

library(data.table)
# define the window for each element
adaptiveparam <- c(1:6, rep(7, nrow(df)-6))
df$rollmean <- frollmean(df$value, n=adaptiveparam, adaptive = T)
> head(df,8)
        date value rollmean
1 2020-09-15     5 5.000000
2 2020-09-14     6 5.500000
3 2020-09-13     7 6.000000
4 2020-09-12     8 6.500000
5 2020-09-15    -3 4.600000
6 2020-09-14    -5 3.000000
7 2020-09-13     6 3.428571
8 2020-09-12     8 3.857143

在这里,我们定义了一个adaptive向量,用于为的每个元素指定要平均的窗口df$value

请注意,解析data.table语法为:

df[,rollmean:= frollmean(value, n=c(1:6, rep(7, nrow(df)-6)), adaptive = T)]

编辑:还请注意

library(lubridate)
as_date(c("2020-09-15", "2020-09-14"))

甚至

date <- as_date("2020-09-15")+0:23

也可以很好地创建日期向量,而无需as.Date重复使用


EDIT2df2只需修改如下:

adaptiveparam2 <- c(1:6, rep(7, nrow(df2)-6))
df2$rollmean <- frollmean(df2$Freq, n=adaptiveparam2, adaptive = T)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查找数据框中每一列的平均值,按列分组,不包括一个值

来自分类Dev

如何基于Julia中一列中的值查找数据框的行的平均值?

来自分类Dev

如何在数据库中的一列中添加所有值并获得其平均值然后计算其行数

来自分类Dev

R:用特定数据范围的平均值替换数据框中的某个值

来自分类Dev

用来自同一列的平均值填充Pyspark数据框列的空值

来自分类Dev

用Python用该列的平均值减去数据框中的每一列

来自分类Dev

在pandas数据框中添加一列,该列是根据其他列的条件得出的另一列的平均值

来自分类Dev

创建一个包含5个随机采样观测值的平均值的数据框

来自分类Dev

熊猫:在一个数据框中交换特定的列值,并计算其加权平均值

来自分类Dev

从数据框列表中的特定数据框中的特定位置添加一列

来自分类Dev

数据框中列的平均值?

来自分类Dev

在列表的每个数据框中添加一行,其中包含某些行的平均值

来自分类Dev

熊猫数据框,为每一组添加一列作为另一列的移动平均值

来自分类Dev

在熊猫的每一列中添加特定数量

来自分类Dev

熊猫数据框:按两列分组,然后对另一列取平均值

来自分类Dev

如何使用R中的mutate获得观测数据的数量和这些数据的平均值

来自分类Dev

使用基于另一列特定值的平均值填充NaN值

来自分类Dev

如何使用循环以基于R数据帧中另一列的平均值替换值

来自分类Dev

另一列的每个唯一值的30个最新数据点的平均值

来自分类Dev

计算两个数据框中一列的平均值,然后在带有特定标签的条形图中绘制每个数据框的平均值?

来自分类常见问题

如何获得PostgreSQL中两个平均值之间的差异,其中平均值在一列上,而最终表按两列分组?

来自分类Dev

如何获取PostgreSQL中两个平均值之间的差异,其中平均值在一列上,而最终表按两列分组?

来自分类Dev

在数据框熊猫中的特定行中添加一列

来自分类Dev

汇总数据框并添加平均值±SD的列

来自分类Dev

如何根据特定条件在数据框熊猫中的列上添加一列

来自分类Dev

在数据框中添加一列

来自分类Dev

pandas当另一列与python中的值匹配时,只获取一列的平均值(浮动)值

来自分类Dev

计算文件中每一列的平均值

来自分类Dev

取熊猫中不止一列的平均值

Related 相关文章

  1. 1

    查找数据框中每一列的平均值,按列分组,不包括一个值

  2. 2

    如何基于Julia中一列中的值查找数据框的行的平均值?

  3. 3

    如何在数据库中的一列中添加所有值并获得其平均值然后计算其行数

  4. 4

    R:用特定数据范围的平均值替换数据框中的某个值

  5. 5

    用来自同一列的平均值填充Pyspark数据框列的空值

  6. 6

    用Python用该列的平均值减去数据框中的每一列

  7. 7

    在pandas数据框中添加一列,该列是根据其他列的条件得出的另一列的平均值

  8. 8

    创建一个包含5个随机采样观测值的平均值的数据框

  9. 9

    熊猫:在一个数据框中交换特定的列值,并计算其加权平均值

  10. 10

    从数据框列表中的特定数据框中的特定位置添加一列

  11. 11

    数据框中列的平均值?

  12. 12

    在列表的每个数据框中添加一行,其中包含某些行的平均值

  13. 13

    熊猫数据框,为每一组添加一列作为另一列的移动平均值

  14. 14

    在熊猫的每一列中添加特定数量

  15. 15

    熊猫数据框:按两列分组,然后对另一列取平均值

  16. 16

    如何使用R中的mutate获得观测数据的数量和这些数据的平均值

  17. 17

    使用基于另一列特定值的平均值填充NaN值

  18. 18

    如何使用循环以基于R数据帧中另一列的平均值替换值

  19. 19

    另一列的每个唯一值的30个最新数据点的平均值

  20. 20

    计算两个数据框中一列的平均值,然后在带有特定标签的条形图中绘制每个数据框的平均值?

  21. 21

    如何获得PostgreSQL中两个平均值之间的差异,其中平均值在一列上,而最终表按两列分组?

  22. 22

    如何获取PostgreSQL中两个平均值之间的差异,其中平均值在一列上,而最终表按两列分组?

  23. 23

    在数据框熊猫中的特定行中添加一列

  24. 24

    汇总数据框并添加平均值±SD的列

  25. 25

    如何根据特定条件在数据框熊猫中的列上添加一列

  26. 26

    在数据框中添加一列

  27. 27

    pandas当另一列与python中的值匹配时,只获取一列的平均值(浮动)值

  28. 28

    计算文件中每一列的平均值

  29. 29

    取熊猫中不止一列的平均值

热门标签

归档