【问题标题】:Divide the each element in column of a matrix by the mean value of that column将矩阵列中的每个元素除以该列的平均值
【发布时间】:2019-02-17 08:06:25
【问题描述】:

所以,我是 python 和 pandas 的新手。 我有一个表格中的矩阵

age  sex  cpt  rbp   sc  fbs  rer     
28    0   12    0.6  1   20    30    
29     1  20    1.1  0    10   20    
30    1    2     2.0 0    15   19

我想将该列的每个元素除以每个相应列的平均值。

如何使用 pandas 做到这一点?

例如 >>for 年龄列 平均值约为 28+29+30/3=29 所以现在将年龄列的每个元素除以 29。

【问题讨论】:

    标签: python mean


    【解决方案1】:

    遍历您的 df 列,在循环中进行调整,如下所示:

    for i in df:
        df[i] = df[i] / df[i].mean()
    

    这会导致:

            age  sex       cpt       rbp   sc       fbs       rer
    0  0.965517  0.0  1.058824  0.486486  3.0  1.333333  1.304348
    1  1.000000  1.5  1.764706  0.891892  0.0  0.666667  0.869565
    2  1.034483  1.5  0.176471  1.621622  0.0  1.000000  0.826087
    

    【讨论】:

    • 每当你在 Pandas 中使用循环时,你几乎肯定做错了。
    • @DYZ Touche,很好的回答
    【解决方案2】:

    计算所有列的平均值并除以它们:

    df /= df.mean()
    

    【讨论】:

      猜你喜欢
      • 2021-10-29
      • 1970-01-01
      • 2018-09-23
      • 1970-01-01
      • 1970-01-01
      • 2020-03-20
      • 1970-01-01
      • 2018-08-27
      • 1970-01-01
      相关资源
      最近更新 更多