我有一个看起来像这样的数据框:
df = pd.DataFrame({'key': ['K0', 'K0', 'K0', 'K1'],'cat': ['C0', 'C0', 'C1', 'C1'],'B': ['A0', 'A1', 'A2', 'A3']})
df
Out[15]:
key cat B
0 K0 C0 A0
1 K0 C0 A1
2 K0 C1 A2
3 K1 C1 A3
是否可以将其转换为:
key cat B
0 K0 C0 A0
1 A1
2 K0 C1 A2
3 K1 C1 A3
我要避免一次又一次显示key
和cat
的相同值,并且一旦key
更改后,cat
就会再次出现。
这是出于excel的目的,因此我需要与以下设备兼容:
style.apply(f)
to_excel()
答案 0 :(得分:4)
您可以在列的子集上使用duplicated
来查找重复值:
cols = ['key', 'cat']
df.loc[df.duplicated(subset=cols), cols] = ''
key cat B
0 K0 C0 A0
1 A1
2 K0 C1 A2
3 K1 C1 A3