开发者社区> 问答> 正文

在pandas中,如何删除表格列中重复的值

我有一个表,我想从特定的列中删除重复的值,并希望这些重复值具有单个值。

输入表:

col1  col2 col3  col4

afsdd  asdf  fff   d

b       f    m     d

dfdf    d    dd    d

df      ff    f    g

dd      dl    jf   g

ddd     dll   dfd  h

所需的输出:

ol1  col2 col3  col4

afsdd  asdf  fff   d

b       f    m     NA(empty)

dfdf    d    dd    NA(empty)

df      ff    f    g

dd      dl    jf   NA(empty)

ddd     dll   dfd  h

在这里我想通过删除或删除,除第一个值以外的所有列值来删除重复的列值,并且应该从列应该为空的意义上删除重复的列值。我不想删除整个行。

我尝试了以下代码:

df_final.drop_duplicates(subset ="col4")

但它删除所有重复项以及行,但是我想要上述格式的结果

展开
收起
安忆333 2019-12-11 10:32:35 1870 0
1 条回答
写回答
取消 提交回答
  • 这是Series.mask 与Series.duplicated:

    df_final['col4'] = df_final['col4'].mask(df_final['col4'].duplicated())
    
        col1  col2 col3 col4
    0  afsdd  asdf  fff    d
    1      b     f    m  NaN
    2   dfdf     d   dd  NaN
    3     df    ff    f    g
    4     dd    dl   jf  NaN
    5    ddd   dll  dfd    h
    
    2019-12-11 10:33:06
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
中文:即学即用的Pandas入门与时间序列分析 立即下载
即学即用的Pandas入门与时间序列分析 立即下载
低代码开发师(初级)实战教程 立即下载