pandas cumsum пропустить колонку
Я новичок в пандах и могу добавить в 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 ответа
Решение
Вы должны исключить 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
Вы также можете использовать .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