前言:
我们为什么要使用Numpy,它都有什么优势?
(1)Nnmpy提供了很多高端的函数,可以对数组和矩阵进行复杂的运算,比直接使用Python语言编码更高效,
(2)Numpy有超过10年的历史,核心算法经过了非常长的时间和很多人的验证,非常稳定。
(3)Numpy的核心算法都是由C语言编写,执行效率更高,
(4)Numpy的扩展性非常好,可以很容易集成到其他的语言中,
(5)Numpy是开源免费的,有广泛的社区支持。
(6)Python + Numpy = Matlab
1、NumPy简介
NumPy是Python科学计算的扩展包,是进行大量数学和科学计算基础,是科学计算、深度学习等高端邻域的必备工具,使用TensorFlow、Caffe框架训练神经网络模型时,需要进行大量复杂的运算,可以直接调用Numpy里的API。
✿ 当存在大量的多维数组、大型矩阵时,numpy的处理效果非常好。它包含的内容如下:
-
一个强大的N维数组对象
-
复杂的(广播)功能
-
用于集成C / C ++和Fortran代码的工具
-
有用的线性代数,傅里叶变换和随机数功能
2、基础知识
NumPy的主要对象是同质多维数组(ndarray,是N-demensional array的缩写)。它是一个元素表(通常是数字),元素数量是事先准备好的,所有元素类型都相同,由非负整数元组索引。数组的维度和元素数量由数组的型(shape)来确定shape由n个正整数组成的元组来指定,元组的每个元素对应每个维度数组的大小,元素数量为元组的元素积。在NumPy中维度称为轴(axis),轴的数量称为秩(rank)。另外,ndarray的大小是不可改变的。
1、定义ndarry
使用array()函数定义,以python列表作为参数
(1)创建一维数组
### 数组与列表是不同的,array()函数可以把列表转换为数组
>>> import numpy as np
>>> a = np.array([1,3,5,7])
>>> print(a)
[1 3 5 7]
>>> print(a*2)
[ 2 6 10 14]
(2)创建多维数组
>>> b=np.array([[1,2,3],[4,5,6]])
>>> print(b)
[[1 2 3]
[4 5 6]]
(3)指定维度来创建多维数组
>>> c = np.array([1,2,3,4],ndmin=3)
>>> print(c)
[[[1 2 3 4]]]
(4)指定类型创建数组
>>> d = np.array([[1,2,3],[3,4,5]],dtype = complex)
>>> print(d)
[[1.+0.j 2.+0.j 3.+0.j]
[3.+0.j 4.+0.j 5.+0.j]]