删除pandas数据帧特定列的重复值

时间:2018-05-06 16:58:12

标签: python pandas dataframe

我有一个包含多列的数据框,我想选择列的子集并从中删除重复的值。

我不想删除行,只想删除特定的列重复值。

我的数据框架如下:

enter image description here

我想删除这些列["PLACEMENT # NAME", "IMPRESSIONS","ENGAGEMENTS","DPEENEGAGEMENTS"]中的重复项,因此我的外观看起来像。 enter image description here

请不要将此视为低估,因为我将来可能会被阻止提问,除了错别字,我在这里是新手

1 个答案:

答案 0 :(得分:3)

以下是您的部分数据

import pandas as pd
df = pd.DataFrame({'PLACEMENT # NAME': ['Blend of Vdx Display', 'Blend of Vdx Display',
                                        'Blend of Vdx Display', 'Blend of Vdx Display'],
                  'PRODUCT': ['Display', 'Display', 'Mobile', 'Mobile'],
                  'VIDEONAME': ['Features', 'TVC', 'video1', 'video2'],
                  'COST_TYPE': ['CPE', 'CPE', 'CPE', 'CPE'],
                  'Views': [1255, 10479, 156, 20],
                  '50_pc_video': [388, 2402, 38, 10],
                  '75_pc_cideo_10': ['', '', '', ''],
                  'IMPRESSIONS': [778732,778732,778732,778732],
                  'ENGAGEMENTS': [13373, 13373, 13373, 13373],
                  'DPEENGAGEMENTS': [7142, 7142, 7142, 7142]})

您可以使用.loc + .duplicated()

完成所需的操作
dup_cols = ['PLACEMENT # NAME', 'IMPRESSIONS', 'ENGAGEMENTS', 'DPEENGAGEMENTS']
df.loc[df.duplicated(dup_cols), dup_cols] = ''