Numpy简明教程

Numpy的核心功能是围绕ndarray(多维数组)展开。
多维数组是计算机科学的概念,其与数学概念的对应关系如下:
1-d array $\longleftrightarrow$ $\color{blue}{vector}$
2-d array $\longleftrightarrow$ $\color{blue}{matrix}$
3-d array $\longleftrightarrow$ $\color{blue}{tensor}$
(大于3-dim的数组还是tensor)
注意:这里的维度概念讲的不是一个vector或者array中component的个数,而是指index的个数。

numpy两个核心目的

  • numpy创建ndarray,并提供对应的增、删、查、改等操作。
  • 提供数据操作的vectorization,提高效率。

主要属性

1
2
3
4
5
6
7
a.ndim #维数
a.shape #维数及大小,e.g. (2,3),2维,2rows 3cols
a.size #存储元素的个数
a.dtype #所存储元素的数据类型
a.itemsize #存储元素的字节数
a.T #数组a的转置
a.flat #铺平元素的一个迭代器

ndarray的所有元素必须是同一种类型数据,即:dtype一样。但dtype可以是各种其他的数据结构。

首先导入numpy包

1
import numpy as np

创建ndarray

从list 生成

1
2
a = np.ndarray([1,2,3])
b = np.ndarray([[1,2,3],[4,5,6]])

直接生成

1
2
c = np.zeros(shape=(2,3),dtype=np.float32) #生成全0的2-dim array,2 rows and 3cols,元素类型为np.float32
d = np.ones(shape=(2,3),dtype=np.float32)

间接生成

1
2
c2 = np.zeors_like(c)
d2 = np.ones_like(d)

随机生成

1
2
np.random.rand() #均匀分布
np.random.randn()#正态分布

常见操作

upcoming…

坚持原创分享,您的支持是我继续创作的动力!