如何使用 python 在数据框中将列中的每个元素移动 n 个范围?

How to move every element in a column by n range in a dataframe using python?

我有一个数据框 df,如下所示:

No  A   B   value
1   23  36   1
2   45  23   1
3   34  12   2
4   22  76   NaN
...

我想将 "value" 列中的每个值移动 2。第一行 "value" 不应移动。

我已经尝试过正常的移位,它直接将所有内容移位2

df['value']=df['value'].shift(2)

我希望得到以下结果:

No  A   B   value
1   23  36   1
2   45  23   Nan
3   34  12   Nan
4   22  76   1
5   10  12   Nan
6   34  2    Nan
7   21  11   2
...

你的情况

df['Newvalue']=pd.Series(df.value.values,index=np.arange(len(df))*3)
df
Out[41]: 
   No   A   B  value  Newvalue
0   1  23  36    1.0       1.0
1   2  45  23    1.0       NaN
2   3  34  12    2.0       NaN
3   4  22  76    NaN       1.0