Pandas中bool系列的百分比函数

时间:2016-08-11 20:44:55

标签: python pandas

使用与此类似的功能:

def percentage(part, whole):
    return 100 * float(part)/float(whole)

我可以获得调用函数的百分比:

percentage(215,413)

但是我如何选择bool系列并获得真假的百分比?

s = pd.Series(np.random.randn(5) +5)

s > 5

0     True
1    False
2    False
3     True
4     True
dtype: bool

所需输出是系列中True值的百分比(上例中为60%)。我需要map函数来获取输出吗?请告诉我最好的方法。感谢

2 个答案:

答案 0 :(得分:0)

只需计算布尔熊猫系列的均值。由于True映射为1,而False映射为0,因此您只需通过计算均值就可以得出百分比。

import pandas as pd, numpy as np
s = pd.Series(np.random.randn(5) +5)
(s > 5).mean()
0.59999999999999998

答案 1 :(得分:0)

内置的Series运算符是另一种方便的方法:

s.gt(5).mean()