【问题标题】:iterating 2 large pandas df to remove duplicates迭代 2 个大熊猫 df 以删除重复项
【发布时间】:2022-07-27 23:44:45
【问题描述】:

我有 2 个数据框,其中包含大量数据,我需要对其进行迭代以检查是否存在不良情况。一帧有 100k 箱,另一架有 6.5m 箱。我需要检查 100k 的 dfll 数据帧与 6.5m 的 wdnc,以删除 dfll 数据帧中的数字显示在 wdnc 数据帧中的任何位置的行。

在这里,我只是想计算重复出现的次数。问题是这需要很长时间。有没有更好的方法来执行这个特定的操作?如果这对熊猫来说任务太大,我不会只使用熊猫,但我似乎无法在其他地方找到解决方案。

dfll = df.loc[df['Cell'] == 'N'].copy().reset_index().drop('index', axis=1)
wdnc = pd.read_fwf(path, names=['phone'])

counter = 0
            for item in wdnc['phone']:
                for i in range(len(dfll)):
                    if dfll['phone'][i] == item:
                        counter+=1
            print(f'Cases removed: {counter}')

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    IIUC 这将从 dfll 中取出一行并查看整个 wdnc,如果它存在于任何列中的任何位置,那么它将保留它,否则它不会。

    check_list = df1['Column1'].to_numpy()
    df2.loc[df2.apply(lambda c : c.isin(check_list)).any(axis=1)]
    

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 2019-04-12
      • 2017-03-03
      • 2019-05-06
      • 2016-01-30
      • 2016-09-03
      • 1970-01-01
      • 2021-10-22
      • 1970-01-01
      相关资源
      最近更新 更多