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

时间:2019-06-12 14:28:05

标签: python pandas dataframe shift

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

iPhone X, iPhone 8 and iPhone 6

我想将“值”列中的每个值都移2。并且第一行“值”不应该移。

我已经尝试过正常的换档,它可以直接将所有档次换成2。

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

我希望得到以下结果:

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

1 个答案:

答案 0 :(得分:3)

以您的情况

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