我很难将pandas数据帧与从该数据帧生成的聚合列进行比较。具体来说,如果我有
df = Col1 Col2
a p
a q
a r
b r
c s
我想要一个布尔数据帧,其中每个条目等于该列的模态值。我试过了
df == df.mode()
但这给了我Can only compare identically labelled DataFrame objects
。我想要能够在第一个数据帧的行中广播第二个数据帧来计算结果。需要说明的是,在上述情况下我有
modal_df = df.mode()
modal_df = Col1 Col2
a r
desired_result = Col1 Col2
True False
True False
True True
False True
False False
答案 0 :(得分:2)
您可以将df
与values
创建的numpy array
进行比较:
print (df.mode().values)
[['a' 'r']]
print (df == df.mode().values)
Col1 Col2
0 True False
1 True False
2 True True
3 False True
4 False False