Pandas Dataframe: обновлять значения в определенных столбцах для последних n строк - PullRequest
1 голос
/ 23 марта 2019

В приведенном ниже примере я хочу обновить столбец C для последних 3 строк до значения 0.

Исходный кадр данных

A B C D E
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5

Целевой фрейм данных

A B C D E
1 1 1 1 1
2 2 2 2 2
3 3 0 3 3
4 4 0 4 4
5 5 0 5 5

Я пробовал что-то вроде

df.tail(3)['C']=0

но это не работает. Есть идеи?

Ответы [ 2 ]

2 голосов
/ 23 марта 2019

Вы можете согласиться на

df.loc[df.tail(3).index, 'C'] = 0
0 голосов
/ 23 марта 2019

Вы можете использовать:

df.iloc[-3:]['C'] = 0

Выход:

   A  B  C  D  E
0  1  1  1  1  1
1  2  2  2  2  2
2  3  3  0  3  3
3  4  4  0  4  4
4  5  5  0  5  5

Другой способ:

df[-3:]['C'] = 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...