【问题标题】:How to get the proportion of values in a row in pandas?如何获取熊猫中一行值的比例?
【发布时间】:2020-11-04 13:14:15
【问题描述】:

假设我有以下df:

col1|col2|col3
  1 |  3 |  1
  2 |  2 |  1

我想知道行的值的比例,所以stg是这样的:

col1|col2|col3
 0.2| 0.6| 0.2
 0.4| 0.4| 0.4

到目前为止,我的主要问题是如何获取行的总和:

mydf["col1_proportion"] = mydf["col1"].apply(lambda x: x / (XXX)  )  

其中 (XXX) 应该是给定行的总和

【问题讨论】:

    标签: python pandas sum row average


    【解决方案1】:

    试试div 和sum

    out = df.div(df.sum(1),axis=0)
    Out[36]: 
       col1  col2  col3
    0   0.2   0.6   0.2
    1   0.4   0.4   0.2
    

    【讨论】:

    • 这行得通,太棒了! sum(1) 中的 1 是什么意思?如果我删除它并将其留空,我会得到 NaN 值。
    • @biohazard90 yw~ 快乐编码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 2015-08-20
    • 2022-07-21
    • 2021-07-12
    • 1970-01-01
    相关资源
    最近更新 更多