【发布时间】:2020-12-17 14:32:31
【问题描述】:
我有一个这样的 DataFrame:
RANK STA RUN BIB NAME FINISH FINISH.1 FINISH.2 COURSE
0 1 3 3 1 ingenting 3.0 0.00 NaN LØYPE 1
1 2 8 2 3 ingenting 4.0 1.97 NaN LØYPE 3
2 3 9 3 3 ingenting 5.0 2.06 NaN LØYPE 1
3 4 2 2 1 ingenting 6.0 3.21 NaN STRAIGHT-GLIDING
4 5 5 1 2 ingenting 6.0 3.32 NaN LØYPE 1
5 6 1 1 1 ingenting 6.0 3.34 NaN STRAIGHT-GLIDING
6 7 4 4 1 ingenting 6.0 3.43 NaN LØYPE 1
7 8 13 7 3 ingenting 6.0 3.48 NaN STRAIGHT-GLIDING
8 9 12 6 3 ingenting 6.0 3.65 NaN STRAIGHT-GLIDING
9 10 11 5 3 ingenting NaN 4.19 NaN STRAIGHT-GLIDING
10 11 6 2 2 ingenting 7.0 4.20 NaN LØYPE 3
11 12 14 3 2 ingenting 7.0 4.30 NaN STRAIGHT-GLIDING
12 13 10 4 3 ingenting 8.0 5.14 NaN LØYPE 2
13 14 7 1 3 ingenting 8.0 5.75 NaN LØYPE 3
数据框由不同课程 (COURSES) 中的不同运动员 (BIB) 组成。每个 BIB 也有自己的 RUN 编号。我的主要兴趣是 FINISH 专栏。现在我想获得以下内容:
- 我想找到每个 BIB 的第一个 STRAIGHT-GLIDING FINISH 时间。
- 接下来,我想将此“存储”为参考时间。
- 接下来,对于每个观察(本例中为 13 个),我想计算从该 BIB 的 STRAIGHT-GLIDING 时间中减去该 BIB 的 FINISH 时间。
解决方案应为每个观察添加一个包含此信息的新列。举个例子,在观察 0 中,FINISH 时间是 3.0,他的第一个 STRAIGHT-GLIDING 时间是 '3.21'。因此,我想创建一个 3.0 - 3.21 的值。我怎样才能做到这一点?
【问题讨论】: