Python - Pandas - редактировать дубликаты, сохраняя последние - PullRequest
0 голосов
/ 20 сентября 2018

Допустим, мой df:

import pandas as pd
df = pd.DataFrame({'col1':['a', 'a', 'a', 'b', 'b', 'c', 'd', 'd', 'd'], 
'col2':[10,20, 30, 10, 20, 10, 10, 20, 30]})

Как я могу сделать все числа равными нулю, сохраняя только последнее?В этом случае результат должен быть:

col1  col2
a     0
a     0
a     30
b     0
b     20
c     10
d     0
d     0
d     30

Спасибо!

1 Ответ

0 голосов
/ 20 сентября 2018

Используйте loc и duplicated с аргументом keep='last':

df.loc[df.duplicated(subset='col1',keep='last'), 'col2'] = 0

>>> df
  col1  col2
0    a     0
1    a     0
2    a    30
3    b     0
4    b    20
5    c    10
6    d     0
7    d     0
8    d    30
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...