Python-Pandas-编辑重复项保持最后一个
假设我的df是:Python-Pandas-编辑重复项保持最后一个,python,pandas,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
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
谢谢 使用loc
并使用参数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