代码之家  ›  专栏  ›  技术社区  ›  pkpto39

带元组的Numpy平均值

  •  0
  • pkpto39  · 技术社区  · 2 年前

    我有一个元组列表,对于我需要做的一些运算,我需要找到平均值,但我有一个我不太理解的问题。

    # This works
    weeks = [(1, 7),
             (8, 14),
             (15, 21),
             (22, 28),
             (29, 35),
             (36, 44)
             ]
    
    # This doesn't work
    np.mean(weeks[0][0], weeks[0][1])
    

    AxisError: axis 7 is out of bounds for array of dimension 0

    4 回复  |  直到 2 年前
        1
  •  3
  •   Hugh Mungus    2 年前

    你可以转换 weeks mean 方法:

    np.array(weeks).mean()
    

    输出:

    21.666666666666668
    

    您也可以使用 axis 参数来计算“行”和“列”的平均值:

    print(np.array(weeks).mean(axis=0))
    print(np.array(weeks).mean(axis=1))
    

    输出:

    array([18.5       , 24.83333333])
    array([ 4., 11., 18., 25., 32., 40.])
    
        2
  •  1
  •   topsail    2 年前

    这不是一个简单的答案,但对于元组列表,可以使用python中的mean statistics 库,它将列表或元组作为输入并返回平均值。

    from statistics import mean
    weeks = [(1, 7),
             (8, 14),
             (15, 21),
             (22, 28),
             (29, 35),
             (36, 44)
             ]
    
    print(mean(weeks[0]))
    
        3
  •  0
  •   drMAIN    2 年前

    你想求总元素的平均值还是只求一个轴的平均值? 第一次尝试这个

     weeks = [(1, 7),
         (8, 14),
         (15, 21),
         (22, 28),
         (29, 35),
         (36, 44)
         ]
      n.mean(weeks)
    
        4
  •  0
  •   Dejene T.    2 年前

    for tup in weeks:
            print(np.mean(tup))