如何使用重叠标签过滤重复的行?我需要一个Dataframe
的子集,其中重复的行被替换为一行,其标签计数最大。
考虑数据框df
:
df = pd.DataFrame({
'X' : [1, -1, 1, 1, 3, -2, -1, -1],
'Y' : [2, 3, 2, 2, 2, -1, 3, 3],
'label' : [0, 1, 1, 0, 2, 1, 2, 2]
})
过滤后,预计会出现以下子集df_output
df_output = pd.DataFrame({
'X' : [1, -1, 3, -2],
'Y' : [2, 3, 2, -1],
'label' : [0, 2, 2, 1]
})
答案 0 :(得分:1)
我认为您正在寻找groupby模式,即
df.groupby(['X','Y'])['label'].apply(lambda x : x.mode().values[0]).reset_index()
输出:
X Y label 0 -2 -1 1 1 -1 3 2 2 1 2 0 3 3 2 2