【问题标题】:Trying to get the percentage of rows rowwise for a particular condition using pandas尝试使用熊猫逐行获取特定条件的行百分比
【发布时间】:2022-10-14 15:07:51
【问题描述】:

我已经获得了 39 行的数据框。

    col_1   col_2   col_3   col_4  col5
0   0   0   0   0   0   
1   0   0   0   0   0   
2   56  57  24  56  0   

在所有行中有多少百分比的值具有 30+ 值 数据框中可用的行?

【问题讨论】:

    标签: python pandas count


    【解决方案1】:

    使用gt 比较您的值,使用sum 计算True 值:

    df.gt(30).sum(axis=1)
    

    输出:

    0    0
    1    0
    2    3
    dtype: int64
    

    对于百分比,使用 mean 并乘以 100:

    df.gt(30).mean(axis=1).mul(100)
    

    输出:

    0     0.0
    1     0.0
    2    50.0
    dtype: float64
    

    如果您希望输出为DataFrame,请添加to_frame

    df.gt(30).sum(axis=1).to_frame(name='count')
    

    输出:

       count
    0      0
    1      0
    2      3
    

    【讨论】:

      【解决方案2】:

      你也可以用这个,

      import pandas as pd
      
      data = [[10, 18, 11], [13, 15, 8], [9, 20, 3]]
      
      df = pd.DataFrame(data)
      df['count'] = df[df > 4].count()
      

      输出是,

          0   1   2  count
      0  10  18  11      3
      1  13  15   8      3
      2   9  20   3      2
      

      【讨论】:

        猜你喜欢
        • 2018-03-11
        • 1970-01-01
        • 1970-01-01
        • 2021-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-17
        相关资源
        最近更新 更多