применить функцию к каждой последовательности строк в столбце - PullRequest
1 голос
/ 17 октября 2019

У меня есть df вроде этого:

     xx
A    3
B    4
C    1
D    5
E    7
F    6
G    3
H    5
I    8
J    5

Я хотел бы применить функцию pct_change к столбцу XX для каждых 5 строк:

, чтобы сгенерировать следующий вывод:

         xx
A       NaN
B  0.333333
C -0.750000
D  4.000000
E  0.400000
F       NaN
G -0.500000
H  0.666667
I  0.600000
J -0.375000

Как мне этого добиться?

1 Ответ

2 голосов
/ 17 октября 2019

Создайте np.arange длиной df и используйте целочисленное деление на 5 и передайте его функции groupby:

df = df.groupby(np.arange(len(df)) // 5).pct_change()
print (df)
         xx
A       NaN
B  0.333333
C -0.750000
D  4.000000
E  0.400000
F       NaN
G -0.500000
H  0.666667
I  0.600000
J -0.375000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...