Как переместить каждый элемент в столбце по n диапазона в кадре данных с помощью Python? - PullRequest
4 голосов
/ 12 июня 2019

У меня есть датафрейм df, который выглядит следующим образом:

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

Я бы хотел сместить каждое значение в столбце «значение» на 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
...

1 Ответ

3 голосов
/ 12 июня 2019

В вашем случае

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
...