如何计算大熊猫中行值大于特定值的数量?

时间:2018-09-02 02:08:58

标签: python pandas

如何计算行值大于熊猫中的特定值的数量? 例如,我有一个Pandas DataFrame dff。我想计算大于0的行值。

dff = pd.DataFrame(np.random.randn(9,3),columns=['a','b','c'])
dff

    a           b           c
0   -0.047753   -1.172751   0.428752
1   -0.763297   -0.539290   1.004502
2   -0.845018   1.780180    1.354705
3   -0.044451   0.271344    0.166762
4   -0.230092   -0.684156   -0.448916
5   -0.137938   1.403581    0.570804
6   -0.259851   0.589898    0.099670
7   0.642413    -0.762344   -0.167562
8   1.940560    -1.276856   0.361775

我使用的效率不高。如何提高效率?

dff['count'] = 0
for m in range(len(dff)):        
    og = 0
    for i in dff.columns:
        if dff[i][m] > 0:
            og += 1
    dff['count'][m] = og
dff

    a           b           c           count
0   -0.047753   -1.172751   0.428752    1
1   -0.763297   -0.539290   1.004502    1
2   -0.845018   1.780180    1.354705    2
3   -0.044451   0.271344    0.166762    2
4   -0.230092   -0.684156   -0.448916   0
5   -0.137938   1.403581    0.570804    2
6   -0.259851   0.589898    0.099670    2
7   0.642413    -0.762344   -0.167562   1
8   1.940560    -1.276856   0.361775    2

1 个答案:

答案 0 :(得分:1)

您可以创建DataFrame的布尔掩码,即float:right,只要值大于阈值(在这种情况下为True),然后在第一个变量中使用0轴。

sum

dff.gt(0).sum(1)