的问题如下:Python的大熊猫有条件更新
- 的列有:姓,名,部门(咨询或销售,分别简写成C和S),员工ID和薪水。在这个例子中,薪金列没有任何功能;这只是强调实际上有很多其他列。
- 某些名字重复的部门之间。
- 不知道这是否会有所帮助,但
first_name + last_name + id
形式的每一行的唯一标识符。我不得不使用它,因为它是最短的唯一标识符标识在以前的重复去除场景大部分副本(见行1和2)。我可以走一步,用更加列串连这个标识符,但是这只是不是一个非常优雅的解决方案。
初始数据框如下:
first_name | last_name | id | dept | salary
-------------------------------------------
sarah | jones | C1 | C | 60000
sarah | jones | C2 | C | 55000
robert | jones | C3 | C | 50000
alice | clarke | C4 | C | 40000
alice | clarke | S1 | S | 40000
thomas | roberts | S2 | S | 45000
我想删除第4行(这是与咨询部门相关的alice clarke
行),并保持5行,但保留咨询部门ID。也就是说,我应该有:
first_name | last_name | id | dept | salary
-------------------------------------------
sarah | jones | C1 | C | 60000
sarah | jones | C2 | C | 55000
robert | jones | C3 | C | 50000
alice | clarke | C4 | S | 40000
thomas | roberts | S2 | S | 45000
(IRL:我有两个数据源,D1和D2 D2数据是更高质量的,而是由D1中使用的ID被更广泛的认可,像的ISO标准。因此,无论D1和D2碰巧给我同一行,我想使用D1 ID和D2的实际数据。)
实际问题比这个MVWE稍微复杂一些重复删除情况)。我试过切碎这些问题的一些我以前上的重复去除或有条件压倒一切的价值观的问题,但一直没能成功地解决了整个事情,主要是因为我已经无法正常模块化的问题。 This有条件更新行的问题可能会有所帮助。
澄清:你是否希望保持S重复,但与C ID? – DyZ
还有一个困惑点:假设你也有爱丽丝克莱克C5。现在,爱丽丝克莱克S1是C4还是C5的复制品? – DyZ
一个例子虽然非常有用,但它基本上是必需的,但并不能代替实际说出你想要应用的标准。 – DSM