Skip to main content
 首页 » 编程设计

python之如何过滤掉列中的重复值(每行)

2025年05月04日14mfryf

如何使用以下条件在数据框中用 np.nan 替换特定值:如果列的值在任何后续列中重复,而不是它的第一次出现 应替换为 np.nan。

例如,

VD_1    VD_2    VD_3     VD_4 
Test    Sun     Test     None 
Sun     Sun     Fun      Fun 
Big     Sand    Fun      Big 

结果是这样的:

VD _1   VD_2    VD_3   VD_4 
None    Sun     Test   None 
None    Sun     None   Fun 
None    Sand    Fun    Big 

我应该使用 drop_duplicates 和 keep 等于 last 吗?

请您参考如下方法:

使用:


df = df.replace({'None':np.nan}) 
      .apply(lambda x:x.drop_duplicates(keep='last'), axis=1) 
      .reindex(columns=df.columns) 
 
print (df) 
   VD_1  VD_2  VD_3 VD_4 
0   NaN   Sun  Test  NaN 
1   NaN   Sun   NaN  Fun 
2   NaN  Sand   Fun  Big