我有一个大型的Pandas数据框,该框符合:
| ID | Var1 | Var2 | Var3 | Var4 | Var5 |
|----|------|------|------|------|------|
| 1 | 1 | 2 | 3 | 4 | 5 |
| 2 | 10 | 9 | 8 | 7 | 6 |
| 3 | 25 | 37 | 41 | 24 | 21 |
| 4 | 102 | 11 | 72 | 56 | 151 |
...
Run Code Online (Sandbox Code Playgroud)
并且我想生成看起来像这样的输出,并为每行取三个最大值的列名:
| ID | 1st Max | 2nd Max | 3rd Max …
Run Code Online (Sandbox Code Playgroud) 我有一个像下面这样的 R 数据框,其中包含每个用户和他们活动的天数列表。
User date_active
1 2018-08-27
1 2018-08-28
1 2018-08-29
1 2018-08-31
1 2018-09-01
2 2018-07-05
2 2018-07-06
2 2018-07-07
2 2018-07-08
2 2018-07-10
2 2018-07-11
2 2018-07-12
2 2018-07-20
Run Code Online (Sandbox Code Playgroud)
我想计算所有日期,直到间隔重新开始计数。对于上述数据,我的预期输出如下表所示。
User date_active
1 3
1 2
2 4
2 3
2 1
Run Code Online (Sandbox Code Playgroud)
我最初的猜测是使用该rank
函数,difftime
但我不确定如何获得结果。非常感激任何的帮助!