如何在数据框中从第二行开始的另一列的所有值创建新列?



我想创建一个新的列,它应该包含从第二列开始的另一个列的值。这意味着对于新列,最后一个值将是Nan。

数据集的例子。

A   B   C 
10  20  30 
40  50  60
70  80  90
100 110 120

新列需要作为:

A  B    C   D
10 20   30  50
40 50   60  80
70 80   90  110
110 110 120 Nan

列D需要从列B中从第二行开始提取值。

我试过如下代码:

df['D'] = [df['B'][i] for i in range(0, len(df))]

这显然与B相同,我无法从1更改行:len(df)

直接使用shift(-1)

>>> df['D'] = df['B'].shift(-1)

A    B    C      D
0   10   20   30   50.0
1   40   50   60   80.0
2   70   80   90  110.0
3  100  110  120    NaN

使用shift:

df['D'] = df['B'].shift(-1)

输出:

A    B    C      D
0   10   20   30   50.0
1   40   50   60   80.0
2   70   80   90  110.0
3  100  110  120    NaN

相关内容

最新更新