Py学习  »  Python

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

hakuna_code • 6 年前 • 1874 次点击  

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

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

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

我已经试过正常的班次了,它直接把每件事都调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
...

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/48355
文章 [ 1 ]  |  最新文章 6 年前
WeNYoBen
Reply   •   1 楼
WeNYoBen    7 年前

对你来说

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