Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-Pandas-编辑重复项保持最后一个_Python_Pandas - Fatal编程技术网

Python-Pandas-编辑重复项保持最后一个

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

假设我的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
谢谢

使用
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