我正在尝试使用 kaggle.com 泰坦尼克号数据集(泰坦尼克号上每个人的数据),并提出了这样的性别分割:

gender = df.sex.value_counts()
gender

male   577
female 314

我想找出泰坦尼克号上每个性别的百分比。

我的方法有点不太理想:
from __future__ import division
pcts = gender / gender.sum()
pcts

male      0.647587
female    0.352413

有没有更好(更惯用)的方式?

谢谢!

最佳答案

这个函数是在pandas 中实现的,实际上甚至在value_counts() 中。无需计算:)

只需输入:

df.sex.value_counts(normalize=True)

这正是所需的输出。

请注意 value_counts() 不包括 NA 值,因此数字加起来可能不等于 1。
见这里:http://pandas-docs.github.io/pandas-docs-travis/generated/pandas.Series.value_counts.html
(DataFrame 的一列是一个系列)

关于python - 给定一个表示值频率的 Pandas 系列,如何将这些频率转换为百分比?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14281871/

10-17 02:19