Python进阶-Numpy科学计算库(简单入门)
Numpy简介
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。
安装
因为我使用的是python3,因此需要自己手动来安装Numpy
pip3 install numpy
一般来说这条命令就可以安装成功了
如果失败的话可能是因为权限的问题可以尝试在命令前加一个’sudo’,即
sudo pip3 install numpy
然后按照提示输入密码就可以了
现在numpy就安装成功了
首先对将numpy引入
1
|
import numpy as np # np就相当于numpy的别名了
|
基础的属性
创建一个矩阵的语法为
1
|
name = np.array([[...]...])
|
例如,要创建一个3x1的矩阵,矩阵名为array
1
|
array = np.array([[123],[456],[789]])
|
打印出来看下
1
|
|
其他的一些简单的属性
1
|
|
创建array
在创建的同时声明元素类型
使用上文中的方法的话,我们并没有办法制定元素的类型,因此我们可以通过在创建时声明元素类型来解决这个问题
1
|
a = np.array([1,2,3],dtype = np.int32)
|
特殊矩阵
如果我们需要一个元素全为0的矩阵的话,可以使用numpy中的zeros()
1
|
|
同理,我们还可以生成全为1的制定大小的矩阵
1
|
one = np.ones(3,4)
|
empty矩阵
1
|
|
需要注意的是empty所创建出来的矩阵所有元素都不为0,但是非常接近于0.
因此在我们需要使用一个矩阵来除以empty矩阵的时候,就不会出错了。反之,除以zero矩阵的话就不对了。
生成矩阵的其他方法
arange
1
|
|
rashap 重新定义矩阵的形状
1
|
|
矩阵的运算1
简单的运算
简单的加、减、乘、除、取余、取整、阶乘等运算方式都是按位置1对1进行运算
但是要求矩阵的行与列都是相同的
要注意矩阵间的运算并不是这样,具体规则在下方
1
|
|
矩阵的运算
矩阵间的运算规则与线代中的方法相同
1
|
|
随机数的生成以及矩阵的运算2
1
|
# 生成3x2的在0-1之间的随机数
|
numpy的索引
1
|
|
array的合并
1
|
# 垂直合并
|
array分割
1
|
|
numpy的浅拷贝和深拷贝
1
|
# 个人理解:类似于指针和形参
|