我有一个稍大的数组(约3000行(,其中第一列有一个不同数字的重复字符串值。我希望能够在不移动此列中的单元格的情况下删除这些重复项。
输入
row/rack shelf tilt
row1.rack1 B 5
row1.rack1 A nan
row1.rack2 C nan
row1.rack2 B nan
row1.rack2 A 17
所需输出
row/rack shelf tilt
row1.rack1 B 5
A nan
row1.rack2 C nan
B nan
A 17
有什么好方法可以做到这一点吗?我一直在stackoverflow和其他网站上搜索,但没能找到这样的
使用.duplicated
和.loc
df.loc[df['row/rack'].duplicated(keep='first'),'row/rack'] = ''
print(df)
row/rack shelf tilt
0 row1.rack1 B 5.0
1 A NaN
2 row1.rack2 C NaN
3 B NaN
4 A 17.0
mask
具有空字符串的重复项:
df["row/rack"] = df["row/rack"].mask(df["row/rack"].duplicated(), "")
>>> df
row/rack shelf tilt
0 row1.rack1 B 5.0
1 A NaN
2 row1.rack2 C NaN
3 B NaN
4 A 17.0