我有一个表,我想从特定的列中删除重复的值,并希望这些重复值具有单个值。
输入表:
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")
但它删除所有重复项以及行,但是我想要上述格式的结果
这是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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。