Python 替换选定列中特定的按行重复单元格,而不删除行
如何替换选定列中的特定行重复单元格而不删除行(最好不在行中循环) 基本上,我希望保留第一个值,并用NAN替换行中剩余的重复项 例如:Python 替换选定列中特定的按行重复单元格,而不删除行,python,pandas,pandas-1.0,Python,Pandas,Pandas 1.0,如何替换选定列中的特定行重复单元格而不删除行(最好不在行中循环) 基本上,我希望保留第一个值,并用NAN替换行中剩余的重复项 例如: df_example = pd.DataFrame({'A':['a' , 'b', 'c'], 'B':['a', 'f', 'c'],'C':[1,2,3]}) df_example.head() 原件: A B C 0 a a 1 1 b f 2 2 c c 3 A B C D 0
df_example = pd.DataFrame({'A':['a' , 'b', 'c'], 'B':['a', 'f', 'c'],'C':[1,2,3]})
df_example.head()
原件:
A B C
0 a a 1
1 b f 2
2 c c 3
A B C D
0 a 1 a 1
1 b 2 f 5
2 c 3 c 3
预期产出:
A B C
0 a nan 1
1 b f 2
2 c nan 3
A B C D
0 a 1 nan nan
1 b 2 f 5
2 c 3 nan nan
更复杂的示例如下所示:
原件:
A B C
0 a a 1
1 b f 2
2 c c 3
A B C D
0 a 1 a 1
1 b 2 f 5
2 c 3 c 3
预期产出:
A B C
0 a nan 1
1 b f 2
2 c nan 3
A B C D
0 a 1 nan nan
1 b 2 f 5
2 c 3 nan nan
与中的每行一起使用:
使用新数据:
df_example = df_example.mask(df_example.apply(lambda x: x.duplicated(), axis=1))
print (df_example)
A B C D
0 a 1 NaN NaN
1 b 2 f 5.0
2 c 3 NaN NaN