python numpy 基本函数

本文介绍了numpy库的一些基本函数,包括numpy.prod用于计算数组元素乘积,numpy.diag处理对角线元素,numpy.concatenate实现数组拼接,numpy.cumsum计算累积和,以及numpy.argmax找到最大值的索引。通过实例展示了每个函数的使用方法,帮助理解numpy的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、numpy.prod(a, axis, dtype, keepdims)

  返回指定轴上的数组元素的乘积。

eg:

>>> c=np.arange(12).reshape(3,4)
>>> c
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>> c.prod(axis=0)
array([  0,  45, 120, 231])
>>> c.prod(axis=1)
array([   0,  840, 7920])

 

2、numpy.diag(array)

array是一个1维数组时,结果形成一个以一维数组为对角线元素的矩阵

array是一个二维矩阵时,结果输出矩阵的对角线元素

eg:

>>> import numpy as np
>>> a=np.array([1,2,3])
>>> a
array([1, 2, 3])
>>> b=np.arange(9).reshape(3,3)
>>> b
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> b.shape
(3, 3)
>>> np.diag(b)
array([0, 4, 8])
>>> np.diag(a)
array([[1, 0, 0],
       [0, 2, 0],
       [0, 0, 3]])

3、numpy.concatenate((array1,array2,...), axis) 完成多个数组的拼接,参数axis代表拼接维度。

eg:

>>> a=np.array([[1,2,3],[4,5,6]])
>>> b=np.array([[11,22,33],[44,55,66]])
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> b
array([[11, 22, 33],
       [44, 55, 66]])
>>> np.concatenate((a,b),axis=0)
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [11, 22, 33],
       [44, 55, 66]])
>>> np.concatenate((a,b),axis=1)
array([[ 1,  2,  3, 11, 22, 33],
       [ 4,  5,  6, 44, 55, 66]])

4、numpy.cumsum(a, axis=None, dtype=None, out=None)
    返回给定axis上元素的累积和

eg:

>>> import numpy as np
>>> a=np.arange(9).reshape(3,3)
>>> a.shape
(3, 3)
>>> a
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> np.cumsum(a)
array([ 0,  1,  3,  6, 10, 15, 21, 28, 36])
>>> np.cumsum(a,axis=0)
array([[ 0,  1,  2],
       [ 3,  5,  7],
       [ 9, 12, 15]])
>>> np.cumsum(a,axis=1)
array([[ 0,  1,  3],
       [ 3,  7, 12],
       [ 6, 13, 21]])

5、numpy.argmax(a, axis=None, out=None)
       返回沿轴axis最大值的索引。

eg:
a : array_like 数组
axis : int, 可选 默认情况下,索引的是平铺的数组,否则沿指定的轴。 axis=0 代表按列索引;axis=1代表按行索引。
out : array, 可选 如果提供,结果以合适的形状和类型被插入到此数组中。
Returns: index_array : ndarray of ints 索引数组。它具有与a.shape相同的形状,其中axis被移除。


例子:

>>> a = np.arange(6).reshape(2,3)
>>> a
array([[0, 1, 2],
       [3, 4, 5]])
>>> np.argmax(a)
5
>>> np.argmax(a, axis=0)#0代表列  !!!
array([1, 1, 1])
>>> np.argmax(a, axis=1)#1代表行  !!!
array([2, 2])
>>>
>>> b = np.arange(6)
>>> b[1] = 5
>>> b
array([0, 5, 2, 3, 4, 5])
>>> np.argmax(b) #只返回第一次出现的最大值的索引  !!!!!
1

参考:https://blog.youkuaiyun.com/u013713117/article/details/53965572

 

6、numpy 模块 size  shape  len 用法

  • size
>>> import numpy as np
>>> b=np.arange(12).reshape(3,4)
>>> b
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>> b.shape
(3, 4)
>>> b.size
12
>>> np.size(b,0)  #计算array b 一行元素的个数 !!!!
3
>>> np.size(b,1)  ##计算array b 一列元素的个数 !!!!
4
  • shape
>>>import numpy as np
>>> b
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>> b.shape  #以元组的形式 返回数组的维数
(3, 4)
>>> b.shape[0] #数组行数
3
>>> b.shape[1]  #数组列数
4
  • len
>>>import numpy as np
>>> b
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>> len(b) #返回对象的长度 不是元素的个数
3

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值