区分Python内置函数sum和numpy.sum()

sum(iterable[, start]) & np.sum (a, axis = None)

  • sum(iterable[, start])为python内置运算
  1. iterable – 可迭代对象,如:列表、元组、集合。
  2. start – 指定相加的参数,如果没有设置这个值,默认为0。
>>>sum([0,1,2])  
3  
>>> sum((2, 3, 4), 1)        # 元组计算总和后再加 1
10
>>> sum([0,1,2,3,4], 2)      # 列表计算总和后再加 2
12
  • np.sum (a, axis = None)
  1. a-Elements to sum.
  2. axis- Axis or axes along which a sum is performed. The default, axis=None, will sum all of the elements of the input array. If axis is negative it counts from the last to the first axis.
    If axis is a tuple of ints, a sum is performed on all of the axes specified in the tuple instead of a single axis or all the axes as before.
    axis的取值有三种情况:1.None,2.整数, 3.整数元组。
    (在默认/缺省的情况下,axis取None)
    如果axis取None,即将数组/矩阵中的元素全部加起来,得到一个和。
    如果axis为整数,axis的取值不可大于数组/矩阵的维度。
    对于二维数组:
    axis = 0: 将每一列的元素相加,即变为一行(俗称压缩行)
    axis = 1: 将每一行的元素相加,即变为一列(俗称压缩列)(这里的一列是为了方便理解说的,实际上,在控制台的输出中,仍然是以一行的形式输出的)
>>> np.sum([0.5, 1.5])
2.0
>>> np.sum([[0, 1], [0, 5]])
6
>>> np.sum([[0, 1], [0, 5]], axis=0)
array([0, 6])
>>> np.sum([[0, 1], [0, 5]], axis=1)
array([1, 5])

对比

>>>print(sum(range(5), -1))
9
>>>print(np.sum(range(5), -1))
10

前者-1表示一个数字,后者-1为参数

参考:来源

你可能感兴趣的:(区分Python内置函数sum和numpy.sum())