Python-熊猫-编辑重复项,保持最后

时间:2018-09-20 20:44:56

标签: python pandas

可以说我的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 :(得分:2)

locduplicated与自变量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