今天我问了一个类似的问题,我想把它应用到团体中会很容易,但我发现比我想象的要难
假设这是我的数据帧:
group a b
0 0 'a' 3
1 0 'a' 56
2 0 'b' 7
3 0 'b' 80
4 0 'b' 55
5 0 'f' 601
6 0 'f' -4
7 0 'g' 33
8 0 'g' 22
9 1 'a' 3
10 1 'a' 56
11 1 'b' 7
12 1 'b' 80
13 1 'b' 55
14 1 'f' 601
15 1 'f' -4
16 1 'g' 33
17 1 'g' 22
我想创建一个新列c
,其中的值将是同一组中a
的前一个值b
的最后一个值,,因此输出应该是:
group a b c
0 0 'a' 3 nan
1 0 'a' 56 nan
2 0 'b' 7 56
3 0 'b' 80 56
4 0 'b' 55 56
5 0 'f' 601 55
6 0 'f' -4 55
7 0 'g' 33 -4
8 0 'g' 22 -4
9 1 'a' 3 nan
10 1 'a' 56 nan
11 1 'b' 7 56
12 1 'b' 80 56
13 1 'b' 55 56
14 1 'f' 601 55
15 1 'f' -4 55
16 1 'g' 33 -4
17 1 'g' 22 -4
任何帮助都将不胜感激
如果您的数据没有重复的索引,这将起作用:
输出:
如果您的数据具有重复索引(如示例所示),则可以执行以下操作:
相关问题 更多 >
编程相关推荐