NumPy - 简介
NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。
Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarray ,它拥有一些额外的功能。 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包。 这个开源项目有很多贡献者。
NumPy 操作
使用NumPy,开发人员可以执行以下操作:
数组的算数和逻辑运算。
傅立叶变换和用于图形操作的例程。
与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数。
NumPy – MatLab 的替代之一
NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用。 这种组合广泛用于替代 MatLab,是一个流行的技术计算平台。 但是,Python 作为 MatLab 的替代方案,现在被视为一种更加现代和完整的编程语言。
NumPy 是开源的,这是它的一个额外的优势。
numpy是一个第三方库,至于基本的安装、导入,想必大家都会,就不赘述。
numpy属性:
import numpy as np
array=np.array([[1,2,3],[2,3,4],[5,6,7]])
print(array)
print('number of dim:',array.ndim)#数组的维数(行,列)
print('shape:',array.shape)#行数列数
print('size:',array.size)#总共元素
结果
[[1 2 3]
[2 3 4]
[5 6 7]]
number of dim: 2
shape: (3, 3)
size: 9
数据类型
import numpy as np
a=np.array([2,34,4],dtype=np.int)#没有逗号数据类型没有设置默认64位
b=np.array([2,34,4],dtype=np.int32)#位数越小占用空间越小
c=np.array([2,34,4],dtype=np.float32)# 自动带点
print(a)
print(b)
print(c)
print(a.dtype)
print(b.dtype)
print(c.dtype)
结果
[ 2 34 4]
[ 2 34 4]
[ 2. 34. 4.]
int64
int32
float32
基本创建
import numpy as np
a=np.array([[2,3,4],[5,6,7]])
b=np.zeros((3,4))#全部为0,z自己设置行数列数里面一定要括号阔起来默认为float?
c=np.ones((3,4),dtype=np.int16)
d=np.empty((2,2))#虽然为空,其实接近0
print(a)
print(b)
print(c)
print(d)
结果
[[2 3 4]
[5 6 7]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
[[5.e-324 5.e-324]
[5.e-324 0.e+000]]
生成特定段,行列
import numpy as np
a=np.arange(10,21,2)#和range基本一样
b=a.reshape((3,2))#这里注意a的元素的数量,否则报错
c=np.linspace(1,10,6)#1开始 10结束 6段 注意10在其中
d=c.reshape((2,3))
print(a)
print(b)
print(c)
print(d)
结果
[10 12 14 16 18 20]
[[10 12]
[14 16]
[18 20]]
[ 1. 2.8 4.6 6.4 8.2 10. ]
[[ 1. 2.8 4.6]
[ 6.4 8.2 10. ]]