pandas cumsum пропустить колонку - PullRequest
0 голосов
/ 04 июня 2018

Я новичок в pandas и могу добавить к cumsum как

df.cumsum(axis=1)

   y0  y1  y2
0   2   3   4
1   2   2   3
2   0   0   0
3   1   2   3
   y0  y1  y2
0   2   5   9
1   2   4   7
2   0   0   0
3   1   3   6

Но есть ли способ выполнить только первые 2 столбца, то есть пропустить y2?

Ответы [ 2 ]

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

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

cols = ['y0', 'y1']
df.loc[:, cols] = df.loc[:, cols].cumsum(axis=1)

Вывод

   y0  y1  y2
0   2   5   4
1   2   4   3
2   0   0   0
3   1   3   3
0 голосов
/ 05 июня 2018

Вам нужно исключить y2, найти cumsum и конкат y2 обратно.

pd.concat([df[['y0', 'y1']].cumsum(axis=1),df['y2']], axis=1)

Выход:

    y0  y1  y2
0   2   5   4
1   2   4   3
2   0   0   0
3   1   3   3
...