如果在滚动 7 天间隔内出现次数大于 x,则熊猫计数

知乎

我有一个带有time_stamp的数据user_id

数据按user_id排序time_stamp

我想user_id在 7 天的滚动间隔内为每个计算该 7 天滚动间隔内的访问次数。如果访问次数 > 3,则将该 user_id 的新列设置为 1,否则为 0。

我的数据

time_stamp,user_id,visited
2014-04-22 03:53:30,1,1
2013-11-15 03:45:04,2,1
2013-11-29 03:45:04,2,1
2013-12-09 03:45:04,2,1
2013-12-25 03:45:04,2,1
2013-12-31 03:45:04,2,1
2014-01-08 03:45:04,2,1
2014-02-03 03:45:04,2,1 <- in a 7 day interval (till 2014-02-10)
2014-02-08 03:45:04,2,1 <- there is 3 visits
2014-02-09 03:45:04,2,1 <-

预期产出

user_id outcome
1       0
2       1

我试过的:

我不知道最好的方法来做到这一点。我的第一个想法是为每个user_id.

df['timediff'] = df.groupby(['user_id','time_stamp'])['time_stamp'].diff() / np.timedelta64(1, 'D')

但是这个输出给了所有的Nans。

    2014-04-22 03:53:30 1   1   NaN
1   2013-11-15 03:45:04 2   1   NaN
2   2013-11-29 03:45:04 2   1   NaN
3   2013-12-09 03:45:04 2   1   NaN
4   2013-12-25 03:45:04 2   1   NaN

请问我应该如何更改算法?

琼迪的洗礼

df.rolling如果每个 user_id 都有一个系列,我会使用7 天的偏移量。然后,您可以检查系列中是否有任何地方的滚动总和大于或等于3。要获取每个用户的系列,请使用set_index()unstack

(df.set_index(['time_stamp', 'user_id'])
.unstack()
.rolling('7D')
.sum()
.ge(3)
.any())

#         user_id
#visited  1          False
#         2           True

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫将数据帧切为间隔,如果在间隔中则获取值

来自分类Dev

如果在iOS 7中使用了弹性垫片,则点击UIBarButtonItem时会出现问题

来自分类Dev

熊猫-在滚动窗口中对大于x的值进行计数的最快方法是什么?

来自分类Dev

在 postgresql 中滚动 7 天计数不同

来自分类Dev

Tableau:如果在for循环中如何计数?

来自分类Dev

如果在熊猫df中丢失,则创建行

来自分类Dev

如果在Mata中cond则替换x

来自分类Dev

如果在iOS 7上的“有能力”的webapp中,将类添加到<body>

来自分类Dev

熊猫古比7天

来自分类Dev

Stata:如果在一定范围内跨行不丢失,则进行计数

来自分类Dev

如果在Xeon Phi上编译时不知道循环计数,则会降低性能

来自分类Dev

如果在一行中,则Oracle SQL多重计数

来自分类Dev

如果在功能中设置了间隔,如何清除功能组件中的间隔?

来自分类Dev

如果在熊猫数据框中没有,Multindex将添加零值

来自分类Dev

颜色字符串和括号(如果在vba中其值大于0)

来自分类Dev

SQL-如果在上一行的时间间隔内删除行

来自分类Dev

如果在间隔中,则数据帧中的值为零

来自分类Dev

如果在Perl中日期超过5天,如何标记日期?

来自分类Dev

如果在GWT中将超时设置为30天,为什么将不存储Cookies?

来自分类Dev

jQuery-如果在页面上检测到x个类,则执行y

来自分类Dev

Android Eclipse-如果在“ x”秒内未按下按钮,则

来自分类Dev

如果在该窗口上使用表单构建器,则无法在Angular 7中打开该窗口

来自分类Dev

如果在移动设备上滚动,则禁止点击链接

来自分类Dev

SwiftUI:如果在ScrollView中滚动,则禁用按钮选择

来自分类Dev

如果在处理过程中出现问题,请停止处理kafka消息

来自分类Dev

如果在bash中出现错误,我只能显示stdout / stderr吗?

来自分类Dev

如果在控制台中运行此语法,为什么会出现语法错误?{} === {}

来自分类Dev

如果在多个列中多次出现“是”,如何突出显示一行

来自分类Dev

WPF:如果在非 UI 线程上调用 new EllipseGeometry() 会出现异常

Related 相关文章

  1. 1

    熊猫将数据帧切为间隔,如果在间隔中则获取值

  2. 2

    如果在iOS 7中使用了弹性垫片,则点击UIBarButtonItem时会出现问题

  3. 3

    熊猫-在滚动窗口中对大于x的值进行计数的最快方法是什么?

  4. 4

    在 postgresql 中滚动 7 天计数不同

  5. 5

    Tableau:如果在for循环中如何计数?

  6. 6

    如果在熊猫df中丢失,则创建行

  7. 7

    如果在Mata中cond则替换x

  8. 8

    如果在iOS 7上的“有能力”的webapp中,将类添加到<body>

  9. 9

    熊猫古比7天

  10. 10

    Stata:如果在一定范围内跨行不丢失,则进行计数

  11. 11

    如果在Xeon Phi上编译时不知道循环计数,则会降低性能

  12. 12

    如果在一行中,则Oracle SQL多重计数

  13. 13

    如果在功能中设置了间隔,如何清除功能组件中的间隔?

  14. 14

    如果在熊猫数据框中没有,Multindex将添加零值

  15. 15

    颜色字符串和括号(如果在vba中其值大于0)

  16. 16

    SQL-如果在上一行的时间间隔内删除行

  17. 17

    如果在间隔中,则数据帧中的值为零

  18. 18

    如果在Perl中日期超过5天,如何标记日期?

  19. 19

    如果在GWT中将超时设置为30天,为什么将不存储Cookies?

  20. 20

    jQuery-如果在页面上检测到x个类,则执行y

  21. 21

    Android Eclipse-如果在“ x”秒内未按下按钮,则

  22. 22

    如果在该窗口上使用表单构建器,则无法在Angular 7中打开该窗口

  23. 23

    如果在移动设备上滚动,则禁止点击链接

  24. 24

    SwiftUI:如果在ScrollView中滚动,则禁用按钮选择

  25. 25

    如果在处理过程中出现问题,请停止处理kafka消息

  26. 26

    如果在bash中出现错误,我只能显示stdout / stderr吗?

  27. 27

    如果在控制台中运行此语法,为什么会出现语法错误?{} === {}

  28. 28

    如果在多个列中多次出现“是”,如何突出显示一行

  29. 29

    WPF:如果在非 UI 线程上调用 new EllipseGeometry() 会出现异常

热门标签

归档