将重复的行追加为单个记录-Pandas

时间:2019-04-12 12:06:52

标签: python pandas

我正在尝试将重复的行追加到一列中。复制基于某些列,这些列需要完全匹配才能将行声明为匹配项。问题是我们不能说有多少重复的行,所以解决方案需要通用。

我尝试了其他解决方案,但是它们基于某些user_id或key列。就我而言,除一列外的所有列都必须进行精确比较。并且附加的列应具有相同的列名。

Concat,合并和连接尝试了所有无效的方法。

我使用以下代码查找重复的行:

col = ['TITLE', 'ISSN', 'e-ISSN', 'ISBN', 'e-ISBN']
duplicated_data = data[data.duplicated(col, keep=False)]

这是输入:

------------------------------
DealName | Target | Category |
-----------------------------
ABC-XYZ  | ABC    | A        |
------------------------------
ABC-XYZ  | ABC    | B        |
------------------------------
ABC-XYZ  | None   | C        |
------------------------------
ABC-XYZ  | ABC    | C        |
------------------------------
ABC-XYZ  | None   | D        |
------------------------------
ABC-XYZ  | Zab    | C        |

并希望将其转换为这样的内容:

------------------------------------------------------------------------------------------
DealName | Target | Category |DealName | Target | Category |DealName | Target | Category |
---------------------------------------------------------------------------------------
ABC-XYZ  | ABC    | A        |ABC-XYZ  | ABC    | B        |ABC-XYZ  | ABC    | C        |
------------------------------------------------------------------------------------------
ABC-XYZ  | None   | C        |ABC-XYZ  | None   | D        |

假设我设置了以下条件:前两列需要匹配才能选择行, 第一,第二和第四行被追加为单个记录 第三和第五行被追加为另一条记录

知道怎么做吗?

0 个答案:

没有答案