Python/DataFrame:当值大于零时计算出现次数/行的百分比

ent*_*ere 1 python dataframe python-3.x pandas

给定以下数据框:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.uniform(-1,1,size=(6, 2)), columns=list('AB'))


          A         B
0  0.179713  0.341367
1 -0.439868  0.999864
2 -0.253476 -0.816107
3 -0.829449 -0.562657
4  0.174300  0.055969
5  0.922375  0.987108
Run Code Online (Sandbox Code Playgroud)

如何计算特定列大于 0 的行/条目的百分比并且仅返回浮点值?

以下代码返回一个 Series,其中 A 的输出覆盖 B 的输出。

a = df[df['A'] > 0].count()/df['A'].count()

A    0.5
B    0.5
dtype: float64
Run Code Online (Sandbox Code Playgroud)

但是,所需的输出只是一个浮点值,而不是一个系列。

Desired output:
    0.5
Run Code Online (Sandbox Code Playgroud)

WeN*_*Ben 6

您可以使用loc,因为前面的代码返回数据帧计数,在您的情况下您需要系列

a = df.loc[df['A'] > 0,'A'].count()/df['A'].count()
a
Out[58]: 0.5
Run Code Online (Sandbox Code Playgroud)