NumPy创建数组常用的有4种机制:
- 从Python中的列表、元组等类型创建ndarray数组
- 使用NumPy中函数创建ndarray数组,如:arange, ones, zeros等
- 从字节流(raw bytes)中创建ndarray数组
- 从文件中读取特定格式,创建ndarray数组
1. 从Python中的列表、元组等类型创建ndarray数组
x = np.array(list / tuple)
x = np.array(list / tuple, dtype = np.float32)
当np.array()不指定dtype时,NumPy将根据数据情况关联一个dtype类型。
import numpy as np
# 从列表类型创建
x = np.array([0, 1, 2, 3])
print(x)
print('\n')
# 从元组类型创建
y = np.array((4, 5, 6, 7))
print(y)
print('\n')
# 从列表和元组混合类型创建
z = np.array([ [1, 2], [8, 9], (0.1, 0.2)])
print(z)
输出:
[0 1 2 3]
[4 5 6 7]
[ [1. 2. ]
[8. 9. ]
[0.1 0.2] ]
2. 使用NumPy中函数创建ndarray数组,如:arange, ones, zeros等
函数 | 说明 |
---|---|
np.empty(shape) | 根据shape生成一个指定形状且未初始化的数组 |
np.arange(n) | 类似range()函数,返回ndarray类型,元素从0到n‐1 |
np.ones(shape) | 根据shape生成一个全1数组,shape是元组类型 |
np.zeros(shape) | 根据shape生成一个全0数组,shape是元组类型 |
np.full(shape,val) | 根据shape生成一个数组,每个元素值都是val |
np.eye(n) | 创建一个正方的n*n单位矩阵,对角线为1,其余为0 |
np.ones_like(a) | 根据数组a的形状生成一个全1数组 |
np.zeros_like(a) | 根据数组a的形状生成一个全0数组 |
np.full_like(a,val) | 根据数组a的形状生成一个数组,每个元素值都是val |
np.linspace() | 根据起止数据等间距地填充数据,形成数组 |
np.concatenate() | 将两个或多个数组合并成一个新的数组 |
相关实例如下: