如何在特定日期为数据框中的行移动时间戳

d

我正在研究用户流失预测用例,这是数据集的一部分(简短版本)

        ID  Timestamp 
    0   026 2017-07-01
    1   026 2017-08-01
    2   026 2017-09-01
    3   026 2017-10-01
    4   026 2017-11-01
    ... ... ... 
    283 327 2019-05-01
    284 327 2019-06-01
    285 327 2019-07-01
    ... ... ... 
    528 500 2018-01-01
    529 500 2018-02-01

例如,观察期是开始日期2017-07-01到2019-12-01首先,我必须找到所有第一个日期都大于观察期开始日期的用户(2017-07-01 ),然后移动它们的所有行,以便第一行以观察期的日期开始。

例如,ID 026从观察期开始就处于活动状态,所以没关系-他没有任何变换。

但是ID 237和ID 500在观察期开始之后才开始活动,我应该从该点开始移动所有日期(行)

转换后的数据框应该看起来像

        ID   Timestamp
    0   026 2017-07-01
    1   026 2017-08-01
    2   026 2017-09-01
    3   026 2017-10-01
    4   026 2017-11-01
    ... ... ... 
    283 327 2017-07-01
    284 327 2017-08-01
    285 327 2017-09-01
    ... ... ... 
    528 500 2017-07-01
    529 500 2017-08-01
广晃

IIUC,可以执行groupby.cumcount和偏移:

df.Timestamp = pd.to_datetime(df.Timestamp)

df['Timestamp'] =df.Timestamp.min() + pd.DateOffset(months=1) * df.groupby('ID').cumcount()

输出:

      ID  Timestamp
0     26 2017-07-01
1     26 2017-08-01
2     26 2017-09-01
3     26 2017-10-01
4     26 2017-11-01
283  327 2017-07-01
284  327 2017-08-01
285  327 2017-09-01
528  500 2017-07-01
529  500 2017-08-01

这种方法将所有数据设置为从最小日期开始的连续月份。如果您只想更改日期,可以groupby().transform('min')执行以下操作:

df.Timestamp -= df.groupby('ID')['Timestamp'].transform('min') -  df.Timestamp.min()

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从特定日期时间范围获取数据

来自分类Dev

如何选择特定日期的最大时间戳?

来自分类Dev

如何在oracle中具有日期的两行之间查找特定日期?

来自分类Dev

如何备份特定日期和时间的mysql中的数据?

来自分类Dev

如何删除Pandas数据框中特定日期的行?

来自分类Dev

从熊猫数据框中消除特定日期的最快方法

来自分类Dev

为熊猫中的特定日期范围过滤数据框

来自分类Dev

在R中的另一个数据框中选择日期最接近特定日期的行

来自分类Dev

如何在熊猫数据框中删除日期和时间?

来自分类Dev

如何在R中的大文件中查找与特定日期相对应的UNIX时间

来自分类Dev

如何从数据框中选择特定日期?

来自分类Dev

如何在新列中为R数据框中的特定行分配类别?

来自分类Dev

如何在熊猫数据框中捕获具有最接近时间戳的行?

来自分类Dev

自动移动特定日期的数据

来自分类Dev

如何在Python中为每个月的特定日期创建日期范围?

来自分类Dev

Laravel将数据透视表时间戳更新为特定日期而不是附加日期

来自分类Dev

如何在flutter应用程序中的特定日期和时间更新sqflite数据库中的表记录?(Android)

来自分类Dev

如何获取熊猫数据框中特定日期/时间的所有历史值?

来自分类Dev

如何处理Pandas中的记录以查找特定日期排序数据的“ true”,“ false”,然后再次为“ true”的总时间

来自分类Dev

如何在Android数据库中检索特定日期的数据

来自分类Dev

如何在php中验证特定日期是否为星期一

来自分类Dev

如何在Pandas数据框中按行值对日期时间列进行排序?

来自分类Dev

删除具有特定日期时间值的 Pandas 数据框中的某些行

来自分类Dev

如何获取特定日期最早时间的数据?

来自分类Dev

从 R 数据框中查找特定日期

来自分类Dev

如何在 Javascript 中获取给定日期、时间和区域的时间戳

来自分类Dev

在 Google 表格中查询时间戳以查找特定日期但忽略时间

来自分类Dev

如何访问具有特定日期时间的行?

来自分类Dev

如何在 xamarin android 中使用 DateTime 对象为特定日期和时间设置警报?

Related 相关文章

  1. 1

    从特定日期时间范围获取数据

  2. 2

    如何选择特定日期的最大时间戳?

  3. 3

    如何在oracle中具有日期的两行之间查找特定日期?

  4. 4

    如何备份特定日期和时间的mysql中的数据?

  5. 5

    如何删除Pandas数据框中特定日期的行?

  6. 6

    从熊猫数据框中消除特定日期的最快方法

  7. 7

    为熊猫中的特定日期范围过滤数据框

  8. 8

    在R中的另一个数据框中选择日期最接近特定日期的行

  9. 9

    如何在熊猫数据框中删除日期和时间?

  10. 10

    如何在R中的大文件中查找与特定日期相对应的UNIX时间

  11. 11

    如何从数据框中选择特定日期?

  12. 12

    如何在新列中为R数据框中的特定行分配类别?

  13. 13

    如何在熊猫数据框中捕获具有最接近时间戳的行?

  14. 14

    自动移动特定日期的数据

  15. 15

    如何在Python中为每个月的特定日期创建日期范围?

  16. 16

    Laravel将数据透视表时间戳更新为特定日期而不是附加日期

  17. 17

    如何在flutter应用程序中的特定日期和时间更新sqflite数据库中的表记录?(Android)

  18. 18

    如何获取熊猫数据框中特定日期/时间的所有历史值?

  19. 19

    如何处理Pandas中的记录以查找特定日期排序数据的“ true”,“ false”,然后再次为“ true”的总时间

  20. 20

    如何在Android数据库中检索特定日期的数据

  21. 21

    如何在php中验证特定日期是否为星期一

  22. 22

    如何在Pandas数据框中按行值对日期时间列进行排序?

  23. 23

    删除具有特定日期时间值的 Pandas 数据框中的某些行

  24. 24

    如何获取特定日期最早时间的数据?

  25. 25

    从 R 数据框中查找特定日期

  26. 26

    如何在 Javascript 中获取给定日期、时间和区域的时间戳

  27. 27

    在 Google 表格中查询时间戳以查找特定日期但忽略时间

  28. 28

    如何访问具有特定日期时间的行?

  29. 29

    如何在 xamarin android 中使用 DateTime 对象为特定日期和时间设置警报?

热门标签

归档