如何使用以下条件在数据框中用 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 吗?
请您参考如下方法:
使用:
-
replacestringNonetoNaNif necessary 申请drop_duplicates-
reindex列名
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
