【问题标题】:How can I add only the first elements of an array in python?如何在 python 中只添加数组的第一个元素?
【发布时间】:2022-01-11 20:34:48
【问题描述】:

如果我有一个数组,例如:a = np.array([[1,2], [2,5], [4,8]]),其中第一位代表x值,第二位one 代表 y 值,如何添加所有第一个数字(x 值)和所有第二个数字(y 值)。 输出应如下所示: 7、15 谢谢!

【问题讨论】:

  • 你尝试了什么?

标签: python arrays list numpy add


【解决方案1】:

使用 numpy 内置函数

np.sum(a,axis=0)

【讨论】:

    【解决方案2】:

    您可以将 numpy sum() 用于行轴(轴 = 0)。这对每一行相同位置的值求和,或者换句话说,它对同一列中的值求和。

    import numpy as np
    a = np.array([[1,2], [2,5], [4,8]])
    print(np.sum(a,axis=0))
    

    【讨论】:

      【解决方案3】:
      x, y = a[:,0].sum(), a[:,1].sum()
      

      【讨论】:

        【解决方案4】:
        a = np.array([[1,2], [2,5], [4,8]])
        x = 0
        y = 0
        for element in a:
            x += element[0]
            y += element[1]
        print("x: " + str(x))
        print("y: " + str(y))
        

        输出:

        >> x: 7
        >> y: 15
        

        访问数组的每个元素,然后将每个元素的第一个元素作为x,第二个作为y

        【讨论】:

        • 这是使用 ndarray 的一种非常昂贵的方式。 Numpy 优化操作。在这里,您必须将 numpy int64 转换为 python int 并为每个元素执行 python 级别的函数调用和求和。使用内置的 .sum,无需进行任何转换。
        猜你喜欢
        • 1970-01-01
        • 2022-12-10
        • 1970-01-01
        • 2021-09-24
        • 1970-01-01
        • 1970-01-01
        • 2020-07-14
        • 2022-12-07
        • 2020-04-07
        相关资源
        最近更新 更多