Pandas将聚合与原始列

时间:2016-06-13 18:25:06

标签: python pandas

我很难将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

1 个答案:

答案 0 :(得分:2)

您可以将dfvalues创建的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