Pandas - 移动平均值 - 使用当前行的前 X 个条目的值

2023-12-11

所以我的数据集看起来像这样:

date,site,iso,id,hits
2017-08-25,google,1,7012,14225.0
2017-08-26,google,1,7012,14565.0
2017-08-27,google,1,7012,14580.0
2017-08-28,google,1,7012,14227.0
2017-08-29,google,1,7012,14568.0
2017-08-30,google,1,7012,14582.0
2017-08-31,google,1,7012,14214.0
2017-09-01,google,1,7012,14053.0
2017-08-25,facebook,2,7019,21225.0
2017-08-26,facebook,2,7019,21565.0
2017-08-27,facebook,2,7019,31580.0
2017-08-28,facebook,2,7019,13227.0
2017-08-29,facebook,2,7019,22568.0
2017-08-30,facebook,2,7019,44582.0
2017-08-31,facebook,2,7019,32214.0
2017-09-01,facebook,2,7019,44053.0

我需要使用以下方法找到点击量的 3 天移动平均值previous3天的数据。 到目前为止我所做的是:

#sort values
df_sorted = df.sort_values(['site', 'iso', 'id', 'date'], ascending=[1, 1, 1, 1])
#group
df_grouped_sorted = df_sorted.groupby(['site', 'iso', 'id'], as_index=False)
df_sorted['mov_av_hits'] = df_grouped_sorted[['hits']].rolling(3, min_periods=3).mean().fillna(0).reset_index(
    0, drop=True)

现在我的数据集如下所示:

date,site,iso,id,hits,hits_avg
2017-08-25,google,1,7012,14225.0,14146.0
2017-08-26,google,1,7012,14565.0,14338.6666667
2017-08-27,google,1,7012,14580.0,14456.6666667
2017-08-28,google,1,7012,14227.0,14457.3333333
2017-08-29,google,1,7012,14568.0,14458.3333333
2017-08-30,google,1,7012,14582.0,14459.0
2017-08-31,google,1,7012,14214.0,14454.6666667
2017-09-01,google,1,7012,14053.0,14283.0

现在这种方法的问题是当前值hits包含在移动平均线中。

以 2017 年 9 月 1 日为例。我需要的价值hits_avg is (14568+14582+14214)/3 = 14454.6但我得到的是(14582+14214+14053)/3 = 14283.0

我怎样才能让移动平均线取值previous 3 days?


你可以试试这个..

df.hits.shift().rolling(3,min_periods=1).mean().fillna(df.hits)
Out[692]: 
0    14225.000000
1    14225.000000
2    14395.000000
3    14456.666667
4    14457.333333
5    14458.333333
6    14459.000000
7    14454.666667
Name: hits, dtype: float64

Update

df['new']=df.groupby('site').hits.apply(lambda x : x.shift().rolling(3,min_periods=1).mean().fillna(x))


df
Out[712]: 
          date      site  iso    id     hits           new
0   2017-08-25    google    1  7012  14225.0  14225.000000
1   2017-08-26    google    1  7012  14565.0  14225.000000
2   2017-08-27    google    1  7012  14580.0  14395.000000
3   2017-08-28    google    1  7012  14227.0  14456.666667
4   2017-08-29    google    1  7012  14568.0  14457.333333
5   2017-08-30    google    1  7012  14582.0  14458.333333
6   2017-08-31    google    1  7012  14214.0  14459.000000
7   2017-09-01    google    1  7012  14053.0  14454.666667
8   2017-08-25  facebook    2  7019  21225.0  21225.000000
9   2017-08-26  facebook    2  7019  21565.0  21225.000000
10  2017-08-27  facebook    2  7019  31580.0  21395.000000
11  2017-08-28  facebook    2  7019  13227.0  24790.000000
12  2017-08-29  facebook    2  7019  22568.0  22124.000000
13  2017-08-30  facebook    2  7019  44582.0  22458.333333
14  2017-08-31  facebook    2  7019  32214.0  26792.333333
15  2017-09-01  facebook    2  7019  44053.0  33121.333333
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas - 移动平均值 - 使用当前行的前 X 个条目的值 的相关文章

  • for 循环如何评估其参数

    我的问题很简单 Does a for循环评估它每次使用的参数 Such as for i in range 300 python 是否会为此循环的每次迭代创建一个包含 300 个项目的列表 如果是的话 这是避免这种情况的方法吗 lst ra
  • Python在postgresql表中查找带有单引号符号的字符串

    我需要从 psql 表中查找包含多个单引号的字符串 我当前的解决方案是将单引号替换为双单引号 如下所示 sql query f SELECT exists SELECT 1 FROM table name WHERE my column m
  • 希伯来语中的稀疏句子标记化错误

    尝试对希伯来语使用稀疏句子标记 import spacy nlp spacy load he doc nlp text sents list doc sents I get Warning no model found for he Onl
  • Python Pandas 根据另一列的总计从另一个数据帧中选择值

    我下面有一个 DataFrame 但我需要根据取消和订单列从每个代码中选择行 假设代码 xxx 的阶数为 6 1 5 1 阶数为 11 我需要一种算法 可以选择满足总共 11 行的行 阶数为 6 5 如果没有行匹配 则选择最接近的 id 并
  • python是带有字符串的运算符行为[重复]

    这个问题在这里已经有答案了 我无法理解以下行为 我正在创建 2 个字符串 并使用 is 运算符来比较它 对于第一种情况 它的工作方式有所不同 对于第二种情况 它按预期工作 当我使用逗号或空格时 它显示是什么原因False与比较is当没有使用
  • PySide6.1 与 matplotlib 3.4 不兼容

    当我只安装PySide6时 GUI程序运行良好 但是一旦我安装了matplotlib及其依赖包 包括pyqt5 则GUI程序将无法运行并输出以下错误消息 This application failed to start because no
  • 动态 __init_subclass__ 方法的参数绑定

    我正在尝试让类装饰器工作 装饰器会添加一个 init subclass 方法到它所应用的类 但是 当该方法动态添加到类中时 第一个参数不会绑定到子类对象 为什么会发生这种情况 举个例子 这是可行的 下面的静态代码是我试图最终得到的示例 cl
  • `list()` 被认为是一个函数吗?

    list显然是内置类型 https docs python org 3 library stdtypes html list在Python中 我看到底下有一条评论this https stackoverflow com a 53645813
  • 如何使用 paramiko 查看(日志)文件传输进度?

    我正在使用 Paramiko 的 SFTPClient 在主机之间传输文件 我希望我的脚本打印文件传输进度 类似于使用 scp 看到的输出 scp my file user host user host password my file 1
  • Pandas style.bar 颜色基于条件?

    如何渲染其中一列的 Pandas dfstyle bar color属性是根据某些条件计算的 Example df style bar subset before after color ff781c vmin 0 0 vmax 1 0 而
  • 将文本注释到轴并对齐为圆

    我正在尝试在轴上绘制文本并将该文本与圆对齐 更准确地说 有一些具有不同坐标 x y 的点位于该圆内 并使用以下命令创建 ax scatter x y s 100 我想用圆圈连接并标记每个点 Cnameb 文本的坐标由 xp yp 定义 因此
  • 在 Sphinx 中,有没有办法在声明参数的同时记录参数?

    我更喜欢在声明参数的同一行记录每个参数 根据需要 以便应用D R Y http en wikipedia org wiki Don t repeat yourself 如果我有这样的代码 def foo flab nickers a ser
  • 解析根元素内元素之间的 XML 文本

    我正在尝试用 Python 解析 XML 以下是 XML 结构的示例 a aaaa1 b bbbb b aaaa2 a
  • 如何将回溯/sys.exc_info() 值保存在变量中?

    我想将错误名称和回溯详细信息保存到变量中 这是我的尝试 import sys try try print x except Exception ex raise NameError except Exception er print 0 s
  • 如何使用 Keras ImageDataGenerator 预测单个图像?

    我已经训练 CNN 对图像进行 3 类分类 在训练模型时 我使用 keras 的 ImageDataGenerator 类对图像应用预处理功能并重新缩放它 现在我的网络在测试集上训练得非常准确 但我不知道如何在单图像预测上应用预处理功能 如
  • 检测 IDLE 的存在/如何判断 __file__ 是否未设置

    我有一个脚本需要使用 file 所以我了解到 IDLE 没有设置这个 有没有办法从我的脚本中检测到 IDLE 的存在 if file not in globals file is not set 如果你想做一些特别的事情 file 未设置
  • 对数据帧的每 2 小时数据进行 Groupby

    我有一个数据框 Time T201FN1ST2010 T201FN1VT2010 1791 2017 12 26 00 00 00 854 69 0 87 1792 2017 12 26 00 20 00 855 76 0 87 1793
  • 处理大文件的最快方法?

    我有多个 3 GB 制表符分隔文件 每个文件中有 2000 万行 所有行都必须独立处理 任何两行之间没有关系 我的问题是 什么会更快 逐行阅读 with open as infile for line in infile 将文件分块读入内存
  • 更改 Python Cmd 模块处理自动完成的方式

    我有一个 Cmd 控制台 设置为自动完成 Magic the Gathering 收藏管理系统的卡牌名称 它使用文本参数在数据库中查询卡片 并使用结果自动完成 建议卡片 然而 这些卡片名称有多个单词 Cmd 会从last到行尾的空间 例如
  • Python:高精度time.sleep

    你能告诉我如何在 Win32 和 Linux 上的 Python 2 6 中获得高精度睡眠函数吗 您可以在中使用浮点数sleep http docs python org library time html time sleep 该参数可以

随机推荐

  • 在 umbraco 中分配主机名

    我正在使用 umbraco cms 设置 af 多语言页面 我的内容结构如下所示 Content da 丹麦子页面 1 丹麦子页面 2 en 英文子页1 英文子页2 我希望路由是这样的 http mysite dk应该去http mysit
  • 如何删除/忽略触摸设备上的 :hover css 样式

    我想忽略一切 hover如果用户通过触摸设备访问我们的网站 则 CSS 声明 因为 hoverCSS 没有意义 如果平板电脑在单击 点击时触发它 它甚至会令人不安 因为它可能会一直粘到元素失去焦点 说实话 我不知道为什么触摸设备感觉需要触发
  • Git - 浏览远程存储库

    我工作中遇到一个小问题 我们将所有不同的项目提交到不同的远程存储库 有时人们会对他们在凌晨 4 点喝咖啡时创建的名称感到困惑 所以我的问题是 有没有办法浏览远程存储库以列出所有分支 任何帮助是极大的赞赏 要仅列出远程分支 请首先获取 以确保
  • SDL 2.0 不会初始化。错误:“无法连接到 Mir 服务器”

    我正在运行 Ubuntu 14 04 并使用 Eclipse CDT 在我的程序中 我尝试初始化 SDL 如果它没有初始化 则输出错误 但 SDL GetError 返回 无法连接到 Mir 服务器 我确信 SDL 已正确安装 因为我可以在
  • 优雅加载网页的技巧?

    我有一个网页 其中有很多内容 当页面使用 jQuery javascript 处于各种状态时 这些内容会被隐藏 显示 样式化 我遇到了一个问题 在页面的初始加载时 我的所有内容都以一种可怕的方式显示了几分之一秒 然后所有内容都被样式化 隐藏
  • 如何在Polymer中动态追加一个元素到dom-if?

    我的目标是将一个元素附加到现有的dom if动态地 问题是 追加后我可以在 DOM 三个中看到追加的元素 但它永远不会做出反应condition并始终隐藏
  • 可以传递给 Wininet 函数 HttpOpenRequest 的最大 URL 长度是多少?

    可以传递给 Wininet 函数 HttpOpenRequest 的最大 URL 长度是多少 WinInet h 中有一些最大长度常量 maximum field lengths arbitrary define INTERNET MAX
  • 行延续在 VBA 中不适用于 2D 数组构造

    在下面的子例程中 定义二维数组似乎不适用于行延续 TestArray1 按预期初始化 但是当我添加行继续时我收到消息 编译错误 缺少右括号 实际上 我不确定英语的确切措辞 用德语执行此操作 在德语中 错误消息是 Fehler beim Ko
  • ViewModel 的构造函数在导航时再次被调用,因此消息订阅被再次订阅

    我正在使用构建跨平台移动应用程序MvvmCross框架 由于我想在 ViewModel 之间共享信息 因此我使用内置的方法在 ViewModel 的构造函数内注册通知MvxMessenger 我们假设一条消息名为ShowAdsMsg 然后
  • 为什么 CALL 的操作码获取中有 6T 状态而不是 4 个?

    我的问题是为什么在 8085 微处理器中 CALL 指令的操作码获取中有 6T 状态 而其他指令有 4 个状态 我进行了很多搜索 但没有找到满意的答案 Here http www edaboard com thread201650 html
  • 从 UITextView 中删除/移除 NSTextAttachment

    我有一个UITextView这将有图像的混合 如NSTextAttachment 和字符串 这UITextView是不可选择的 所以我可以使用 BOOL textView UITextView textView shouldInteract
  • 将元素插入全局映射时发生访问冲突

    我已经尝试调试这个几个小时了 但没有成功 我知道你们会在几分钟内解决问题 所以情况是这样的 我有大约 400 个名为 ProblemX cpp ProblemX h 的 cpp h 文件 其中 X 是 1 到 400 之间的数字 每个文件都
  • 如何修改 Pandas 中的日期时间索引格式(UTC)?

    我有一个看起来像这样的 df 2015 01 29 08 30 00 05 00 199425 199950 199375 199825 2015 01 29 08 45 00 05 00 199825 199850 199650 1998
  • Rails 4 使用回形针添加多个文件附件

    我知道 Stackoverflow 上有很多关于这个主题的帖子和一些教程 然而 他们都没有能够解决我的问题 而且大多数都已经过时了 我正在尝试使用 Rails 4 中的回形针 gem 将多个图像添加到项目中 当我尝试上传它时 我确实看到参数
  • 如何使用 HTML 中的 mailto 在 Outlook 中附加文件?

    我使用以下代码使用 Outlook 发送邮件 a href Send Mail a 问题是我无法在 Outlook 中附加文件 我尝试过使用 附件 参数 但出现了同样的问题 可以做到还是有替代方案 这是不允许的 请注意仅通过单击链接附加本地
  • BarcodeScanner2 = TypeError:无法将属性“innerHTML”设置为 null

    我正在尝试在android中使用phonegap 1 4 1开发一个条形码扫描应用程序 我试图将所有值存储在数组中code 后来我使用数组显示值 我正在创建一个local storage的价值观 这是我对数组和计数器的声明 localSto
  • 无法使用主活动中的导航视图在导航抽屉中设置文本视图。 Xamarin Android

    这是我设置所有图标 菜单 抽屉和导航视图的主要活动 在这里 我通过将 nav header 膨胀到视图中来设置另一个视图并设置文本视图 但我似乎仍然无法更改导航抽屉中的文本视图 主要活动 using Android App using An
  • 标题栏按钮和自定义标题栏

    我为黑色 NSWindow 样式 0 创建了一个自定义标题栏视图 这样我就可以让它以与 Quicktime X 类似的方式消失 唯一的问题是 按钮不响应鼠标悬停和鼠标移动操作标题栏上的 可以与按下按钮组合起来 完整的源代码在这里 https
  • 使用 Java 和 Kerberos 以不同用户身份创建进程

    我正在开发一个Java服务器应用程序 在Windows下作为服务运行 并希望实现以下场景 用户向服务器发出 POST 请求 用户通过 Kerberos SPNEGO 企业环境中的 SSO 进行身份验证 该服务创建一个新的 Java 进程 该
  • Pandas - 移动平均值 - 使用当前行的前 X 个条目的值

    所以我的数据集看起来像这样 date site iso id hits 2017 08 25 google 1 7012 14225 0 2017 08 26 google 1 7012 14565 0 2017 08 27 google