我在 Python 中有这样的 DataFrame:
df=pd.DataFrame({"Sex":["male", "male", "female", "male"],
"Survived":[0,0,1,1]})
我想计算一下“男性”中有多大比例在“1”中幸存下来。所以我需要从DataFrame中获取所有Sex =“male”和Survived = 1的代码将它除以所有Sex =“male”
我的预期输出是:1/3 = 0,3333
我们可以先过滤男性候选人的数据框,然后在这里计算平均值,因为该Survived列仅由0s 和1s 组成:
>>> df.loc[df['Sex'] == 'male', 'Survived'].mean()
0.3333333333333333
或者,如果您想要每个性别的生存百分比,我们可以通过以下方式进行分组:
>>> df.groupby('Sex')['Survived'].mean()
Sex
female 1.000000
male 0.333333
Name: Survived, dtype: float64
因此,100% 的女性(1/1)幸存下来,而 33.33% 的男性(1/3)幸存下来。