首页 > 解决方案 > 使用 Python 进行重复分析

问题描述

我是 Python 的初学者。

到目前为止,我已经使用 pandas lib 确定了重复项,但不知道这将如何帮助我。

import pandas as pd
import numpy as np
dataframe = pd.read_csv("HKTW_INDIA_Duplicate_Account.csv")
dataframe.info()
name = dataframe["PARTY_NAME"duplicate_data=dataframe[name.isin(name[name.duplicated()])].sort_values("PARTY_NAME")
duplicate_data.head()

我想要什么:我有一组重复的数据,我需要根据某些条件合并重复的数据,并且需要在新列中填充反馈。

我也可以在 Excel 中手动执行此操作,但记录非常高,这将消耗大量时间。(超过 4,00,000 行)

Primary Account ID  Secondary Account ID    Account Name    Translated Name    Created on Date    Amount Today   Amount Total   Split   Reamrks New ID
    1234                     245            Julia              Julia            24-May-20           530              45           N     
    2345                                    Julia              Julia            24-Sep-20                                         N     
    3456                      42            Sara               Sara             24-Aug-20           230                           Y     
    4567                                    Sara               Sara             24-Sep-20                                         Y     
    5678                                    Matt               Matt             24-Jun-20                                         N
    6789                                    Matt               Matt             24-Sep-20                                         N 
    7890                      58            Robert             Robert           24-Feb-20           525              21           N     
    1937                                    Robert             Robert           24-Sep-20                                         N     
    7854                      55            Robert             Robert           24-Jan-20           543              74           N     

在此处输入图像描述

条件:

  1. 只有当我们在拆分列中有“N”且 Amount_Total 和 Amount_Today 为空白时,才能合并那些帐户。预期输出: 在此处输入图像描述
  2. Secondary_Account_ID 中的值与否。示例:第 2 行没有任何辅助注册表 ID,也没有 Amount_Total 和 Amount_Todat 中的任何值,但第 1 行具有 Secondary_Account_ID 中的值,因此在这种情况下,可以将第 2 行合并到第 1 行,因为它们具有相同的名称。在备注栏中,它应该给我获胜者帐户有辅助 id(第 2 行和第 1 行)并从第 1 行复制帐户 ID 并粘贴到(第 2 行和第 1 行)(列“新 ID”)预期输出: 在此处输入图像描述
  3. 如果重复帐户具有 Amount_Total 和 Amount_Today,则不应合并。预期输出: 在此处输入图像描述
  4. 如果重复账户在 Secondary_Account_ID 中没有任何值,那么它将检查 Amount_today 或 Amount_total 列,如果这两列中有值,那么这两列中没有值的账户将被合并到另一个列中。预期输出: 在此处输入图像描述
  5. 如果多个重复帐户具有辅助 ID,并且如果 Amount_Today 或 Amount_Total 可用于一个帐户,则该帐户将被视为获胜者帐户。预期输出: 在此处输入图像描述
  6. 如果多个重复帐户具有辅助 ID,并且如果 Amount_Today 或 Amount_Total 可用于多个帐户,则 Amount_Total 中具有最大值的帐户将被视为获胜者帐户。预期输出: 在此处输入图像描述
  7. 如果 Secondary_Account_ID、Total_Amount 和 Today_Amount 为空白,则应考虑最旧的帐户。预期输出: 在此处输入图像描述

标签: pythonpandasduplicatesdata-analysis

解决方案


推荐阅读