Pandas 中 bool 系列的百分比函数

ade*_*e1e 2 python pandas

使用类似于此的函数:

def percentage(part, whole):
    return 100 * float(part)/float(whole)
Run Code Online (Sandbox Code Playgroud)

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

percentage(215,413)
Run Code Online (Sandbox Code Playgroud)

但是我如何使用 bool 系列并获得 True 和 False 的百分比?

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

s > 5

0     True
1    False
2    False
3     True
4     True
dtype: bool
Run Code Online (Sandbox Code Playgroud)

所需的输出是系列中 True 值的百分比(上例中为 60%)。我需要map一个函数来获取输出吗?请告诉我执行此操作的最佳方法。谢谢

小智 5

只需计算布尔熊猫系列的平均值。由于 True 映射到 1 而 False 映射到 0,您最终将通过简单地计算平均值来获得百分比。:

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