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 | a.ndim #维数 |
ndarray的所有元素必须是同一种类型数据,即:dtype一样。但dtype可以是各种其他的数据结构。
首先导入numpy包
1 | import numpy as np |
创建ndarray
从list 生成1
2a = np.ndarray([1,2,3])
b = np.ndarray([[1,2,3],[4,5,6]])
直接生成1
2c = 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
2c2 = np.zeors_like(c)
d2 = np.ones_like(d)
随机生成1
2np.random.rand() #均匀分布
np.random.randn()#正态分布
常见操作
upcoming…