Pandas Shift столбцы, но добавить новые строки, где несмещенные столбцы равны нулю - PullRequest
0 голосов
/ 11 июня 2018

Скажем, у меня есть фрейм данных:

  x y
0 1 5
1 2 4
2 3 3
3 4 2
4 5 1

Я хочу запустить что-то вроде df.y.shift(3), и оно не только сместит y на 3 строки, но также создаст три новых строки для x, которыеравны нулю, так что датафрейм становится

  x y
0 1 N
1 2 N
2 3 N
3 4 5
4 5 4
5 N 3
6 N 2
7 N 1

Где N=NaN

Оператор сдвига, кажется, только смещает столбец на n строк, но также "выбивает" n элементов из вашего списка.Я хочу сохранить эти n элементов на моем новом фрейме данных.

1 Ответ

0 голосов
/ 11 июня 2018

Вы можете сначала переиндексировать, а затем сместить только один из столбцов:

df = df.reindex(range(8))
df["y"] = df.y.shift(3)

     x    y
0  1.0  NaN
1  2.0  NaN
2  3.0  NaN
3  4.0  5.0
4  5.0  4.0
5  NaN  3.0
6  NaN  2.0
7  NaN  1.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...