I need to copy the strings of event
and paste them into three rows above and five rows down of a new column named epoch
.
event epoch
NaN NaN
NaN NaN
NaN NaN
NaN 2_1
NaN 2_1
NaN 2_1
2_1 2_1
NaN 2_1
NaN 2_1
NaN 2_1
NaN 2_1
NaN 2_1
NaN NaN
NaN NaN
NaN NaN
NaN NaN
NaN NaN
NaN 3_1
NaN 3_1
NaN 3_1
3_1 3_1
NaN 3_1
NaN 3_1
NaN 3_1
NaN 3_1
NaN 3_1
NaN NaN
NaN NaN
NaN NaN
NaN NaN
Thank you.
CodePudding user response:
Try this: (considering column "epoch" doesn't exist yet)
df['epoch'] = df.event.ffill(limit=5)
df['epoch'] = df['epoch'].bfill(limit=3)
df
Output:
index | event | epoch |
---|---|---|
0 | NaN | NaN |
1 | NaN | NaN |
2 | NaN | NaN |
3 | NaN | 2_1 |
4 | NaN | 2_1 |
5 | NaN | 2_1 |
6 | 2_1 | 2_1 |
7 | NaN | 2_1 |
8 | NaN | 2_1 |
9 | NaN | 2_1 |
10 | NaN | 2_1 |
11 | NaN | 2_1 |
12 | NaN | NaN |
13 | NaN | NaN |
14 | NaN | NaN |
15 | NaN | NaN |
16 | NaN | NaN |
17 | NaN | 3_1 |
18 | NaN | 3_1 |
19 | NaN | 3_1 |
20 | 3_1 | 3_1 |
21 | NaN | 3_1 |
22 | NaN | 3_1 |
23 | NaN | 3_1 |
24 | NaN | 3_1 |
25 | NaN | 3_1 |
26 | NaN | NaN |
27 | NaN | NaN |
28 | NaN | NaN |
29 | NaN | NaN |