2016-03-27 2 views
-1

Входной сигнал:смещение столбца в панд без устранения ДАННЫЕ

##  x2 
##0 214 
##1 234 
##2 253 
##3 272 
##4 291 

Желаемая выход:

##  x2 
##0 291 
##1 214 
##2 234 
##3 253 
##4 272 

Следующий код устраняет нижнюю часть колонны сдвинутой и помещает NA сверху. Однако я хочу, чтобы это было как цикл.

a = pd.DataFrame([214,234,253,272,291], columns=['x2']) 
a.x2 = a.x2.shift(1) 
+0

сделайте нам одолжение добавить код, который мы можем скопировать/вставить, чтобы сделать dataframe. –

+0

@PaulH: Я отредактировал то, как вы просили. Дайте мне знать, если есть что-нибудь, что я должен добавить – dsl1990

ответ

1

Я просто цепь вызова, чтобы заполнить fillna после вызова shift:

import pandas 
a = pandas.DataFrame([214,234,253,272,291], columns=['x2']) 
a['x3'] = a.shift(1).fillna(a['x2'].iloc[-1]) 
print(a) 

    x2 x3 
0 214 291 
1 234 214 
2 253 234 
3 272 253 
4 291 272 

Вы можете переназначить непосредственно к x2 колонку, но я хотел бы быть в состоянии показать, как источник и результат a один раз для сравнения

+0

Спасибо за ответ! – dsl1990

Смежные вопросы