python - 使用 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
条件:
- 只有当我们在拆分列中有“N”且 Amount_Total 和 Amount_Today 为空白时,才能合并那些帐户。预期输出:
- Secondary_Account_ID 中的值与否。示例:第 2 行没有任何辅助注册表 ID,也没有 Amount_Total 和 Amount_Todat 中的任何值,但第 1 行具有 Secondary_Account_ID 中的值,因此在这种情况下,可以将第 2 行合并到第 1 行,因为它们具有相同的名称。在备注栏中,它应该给我获胜者帐户有辅助 id(第 2 行和第 1 行)并从第 1 行复制帐户 ID 并粘贴到(第 2 行和第 1 行)(列“新 ID”)预期输出:
- 如果重复帐户具有 Amount_Total 和 Amount_Today,则不应合并。预期输出:
- 如果重复账户在 Secondary_Account_ID 中没有任何值,那么它将检查 Amount_today 或 Amount_total 列,如果这两列中有值,那么这两列中没有值的账户将被合并到另一个列中。预期输出:
- 如果多个重复帐户具有辅助 ID,并且如果 Amount_Today 或 Amount_Total 可用于一个帐户,则该帐户将被视为获胜者帐户。预期输出:
- 如果多个重复帐户具有辅助 ID,并且如果 Amount_Today 或 Amount_Total 可用于多个帐户,则 Amount_Total 中具有最大值的帐户将被视为获胜者帐户。预期输出:
- 如果 Secondary_Account_ID、Total_Amount 和 Today_Amount 为空白,则应考虑最旧的帐户。预期输出:
解决方案
推荐阅读
- java - 在 Android 中,如何按日期对数组项进行分组?
- reactjs - useLazyQuery 未在 Promise all 中触发
- reactjs - 如何在axios内部设置标题
- r - 无法通过 R 中 `plot3D` 包中的 `points3D` 函数在绘图上叠加点
- php - Paypal:我应该为每个新的订阅请求创建一个新计划吗?
- jquery - 如何检查是否使用 Jquery 检查动态生成的单选按钮?
- php - 连接到 smtp 时出现此错误;451 4.7.1
: 收件人地址被拒绝:灰名单 5 分钟 - python - 如何在 Python-pptx 中更改图表背景颜色
- git - 如何从 git 历史记录中提取所有更改或添加的文件?
- python - Python / Docker - ModuleNotFoundError:没有命名的模块