一、NumPy ndarray 的创建
ndarray 的创建可理解为数组的设置与引用。
1. np.array()
作用: 将 Python 的序列(如列表、元组)转换为 NumPy 数组。
list_data = [4, 5, 6]
arr = np.array(list_data)
参数 dtype=np.float64:指定数组元素的数据类型。若不指定则自动推断(原列表是整数,默认会转成 int 类型)。
2. 复制与关联
copy 即复制的意思,我们可以将一个元素的原始数组完全复制给另一个元素。对于两个元素而言完全相同,但是两者在复制后无关联,因此我们在复制的元素内进行修改不会影响原元素的数组。
3. 预定义形状
对于上述的预定义形状我们有两种特殊的语法即:全部数据为 0/全部数据为 1。
- 全 0:
np.zeros(shape),其中括号表示的是所预定的形状。 - 全 1:
np.ones(shape),其内部的内容与上述的一致。 注意:与上述的np.array()语法不同,预定义形状的默认值为 float 类型,因此所展现的数都为浮点数。而np.array()的默认值为整数 int 类型。
4. np.empty()
np.empty() 是 NumPy 中创建未初始化数组的函数,核心特点是'快速但内容随机':
np.empty(shape, dtype=float, order='C')
shape(必填):数组的形状,用元组表示。dtype(可选):数组元素的数据类型,默认是 float。order(可选):内存中元素的存储顺序('C'是按行存储,'F'是按列存储),默认'C'。 核心特性:'未初始化'的含义。np.empty()不会主动给数组元素赋值,而是直接使用内存中已有的随机数据('垃圾值')。
5. np.full()
由于对于其他数而言我们若想写出除了 0/1 以外的数组那么就要用到语法:np.full(shape, fill_value) 来进行编写。其中 shape 即数组形状,fill_value 即我们所希望填写进数组里的其他数。
6. like 语法
like 语法即在前面所讲的 full, ones, zeros, empty 后加入"_"和一个 like,其作用是将一个新的元素预定义其排列形式像另一个元素一样。与 copy 不同,like 指的是排列形式一样其内部的数据不相同我们可以自己填充,而 copy 则是数据内容与排列形式都相同。若我们未给 like 元素进行数据填充,那么系统默认为 0。
7. 等差数列
该部分的内容与我们前面所学的序列内容相似,其语法为 np.arange(start, stop, step)。
start即初始的值。stop指的是最后能框住末端的数,因此在数列中的最后一个数为 stop-1。step表示的是步长。
8. 等间隔数列
语法:np.linspace(start, stop, num)。

