Numpy基础与常用函数

基础部分
首先需要导入 NumPy 模块,并约定简称为 np。

一、 导入 NumPy:
import numpy as np

二、查看 NumPy 版本信息:
np.version

三、创建数组

通过列表创建一维数组:
np.array([1, 2, 3])
上方数组是一个秩为 1 的数组,因为它只有一个轴,而轴的长度为 3。

通过列表创建二维数组:
np.array([(1, 2, 3), (4, 5, 6)])
上方数组的秩为 2。第一个维度长度为 2,第二个维度长度为 3。

创建全为 0 的二维数组:
np.zeros((3, 3))

创建全为 1 的三维数组:
np.ones((2, 3, 4))

创建一维等差数组:
np.arange(5)

创建二维等差数组:
np.arange(6).reshape(2, 3)

创建单位矩阵(二维数组):
np.eye(3)

创建等间隔一维数组:
np.linspace(1, 10, num=6)

创建二维随机数组:
np.random.rand(2, 3)

创建二维随机整数数组(数值小于 5):
np.random.randint(5, size=(2, 3))

依据自定义函数创建数组:
np.fromfunction(lambda i, j: i + j, (3, 3))

四、数组运算

生成一维示例数组:
a = np.array([10, 20, 30, 40, 50])
b = np.arange(1, 6)
a, b

一维数组加法运算:
a + b

一维数组减法运算:
a - b

一维数组乘法运算:
a * b

一维数组除法运算:
a / b

生成二维示例数组(可以看作矩阵):
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6],[7, 8]])
A, B


生成二维示例数组(可以看作矩阵):
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6],[7, 8]])
A, B

矩阵加法运算:
A + B

矩阵减法运算:
A - B

矩阵元素间乘法运算:
A * B

矩阵乘法运算(注意与上题的区别):
np.dot(A, B)

如果使用 np.mat 将二维数组准确定义为矩阵,就可以直接使用 * 完成矩阵乘法计算。
np.mat(A) * np.mat(B)

数乘矩阵:
2 * A

矩阵的转置:
A.T

 矩阵求逆:
np.linalg.inv(A)

五、数学函数
三角函数:
np.sin(a)

以自然对数函数为底数的指数函数:
np.exp(a)

数组的方根的运算(开平方):
np.sqrt(a)

数组的方根的运算(立方):
np.power(a, 3)

六、数组切片和索引
一维数组索引:
a = np.array([1, 2, 3, 4, 5])
a[0], a[-1]

一维数组切片:
a[0:2], a[:-1]

二维数组索引:
a = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)])
a[0], a[-1]

二维数组切片(取第 2 列):
print(a)
a[:, 1]

二维数组切片(取第 2,3 行):
a[1:3, :]

七、数组属性及操作
np.ndim: 秩,维度
np.shape: 数组的维度,各维度的尺度 (2,5)
np.size: 数组元素的总个数
np.dtype: ndarray 元素的类型 dtype(‘int32’)
np.itemsize: ndarray 对象中每个元素的大小,以字节为单位
np.flags: ndarray 对象的内存信息
np.real: ndarray元素的实部
np.imag: ndarray 元素的虚部
np.data: 包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。


 查看数组形状:
a.shape

 更改数组形状(不改变原始数组):
a.reshape(2, 3) # reshape 并不改变原始数组

更改数组形状(改变原始数组):
a.resize(2, 3) # resize 会改变原始数组

 展平数组:
a.ravel()

垂直拼合数组:
np.vstack((a, b))

水平拼合数组:
np.hstack((a, b))

 沿横轴分割数组:
np.hsplit(a, 3)

沿纵轴分割数组:
np.vsplit(a, 3)

返回每列最大值:
np.max(a, axis=0)

返回每行最小值:
np.min(a, axis=1)

返回每列最大值索引:
np.argmax(a, axis=0)

返回每行最小值索引:
np.argmin(a, axis=1)

八、数组统计
统计数组各列的中位数:
np.median(a, axis=0)

统计数组各行的算术平均值:
np.mean(a, axis=1)

统计数组各列的加权平均值:
np.average(a, axis=0)

统计数组各行的方差:
np.var(a, axis=1)

统计数组各列的标准偏差:
np.std(a, axis=0)
————————————————
版权声明:本文为CSDN博主「往事随风beat」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/pythonbeatman/article/details/105536950

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值