2017-02-10 92 views
0

我该如何去寻找以最有效的方式获得“男性”或“投票”的概率?使用熊猫的联合概率DataFrame

import pandas as pd 
from pandas import DataFrame 

df = DataFrame({"Voted for": {"Males": .22, "Females": .18}, 
       "Voted against" : {"Males": .33, "Females": .27}, 
       }) 

给出:

In [219]: df 
Out[219]: 
     Voted against Voted for 
Females   0.27  0.18 
Males    0.33  0.22 

回答

1

由于df.values.sum()总和为1,类别是互斥的,你可以计算出“男性”,或者从1减去概率“投了票”的概率“女性”和‘投票反对’:

In [23]: 1 - df.loc['Females', 'Voted against'] 
Out[23]: 0.72999999999999998 

这是最有效的方式,给出df,因为它只需要一个减法。