的問題如下: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