numpy.array(object, dtype=None, *, copy=True, order='K', subok=False,
ndmin=0, like=None)
| 参数 | 含义 |
|---|---|
| object | 数组序列,如:列表/元组 |
| dtype | 可选参数,数组数据的类型;若未指定由数组序列最小类型决定 |
| copy | 可选参数,布尔型,默认取值为True,具体如何使用尚不清楚 |
| order | 可选参数,以何种内存布局创建数组,尚不理解 |
| subok | 可选参数,布尔型,默认取值为False,尚不理解 |
| ndmin | 可选参数,指定数组的维度,默认为1维 |
| like | 可选参数,类数组,尚不理解 |
# 1.列表中元素不相同,结果为内存占据较大的类型
# 1.1 整型与字符串型,结果转化为整型
a = np.array([1, 2, 3, '4'])
print(a)
# 1.2 整型与浮点型,结果为浮点型
b = np.array([1, 2, 3.14, 4.56])
print(b)
# 2. 二维数组
d = np.array([[1, 2, 3], ('a', 'b', 'c')])
print(d)
print(d.ndim)
# 3. 嵌套序列数量不一致,会转化为1维数组,此时必须指定dtype=object
e = np.array([[1, 2, 3, 4], ('a', 'b', 'c')], dtype=object)
print(e)
print(e.ndim)
# 4. dtype参数,默认自动识别,dtype指定类型,强制转换
f = np.array([1, 2, 3, 4])
print(f)
print(f.dtype)
g = np.array([1.9, 2, 3.14, 5], dtype='int32')
print(g)
print(id(g))
# 5. 当copy取值为True创建副本,取值为False时进行引用,不创建副本
h = np.array(g,copy=False)
print(h)
print(id(h))
j = np.array(g)
print(j)
print(id(j))
# 6. ndmin 指定创建数组的维度
k = np.array([1,2,3],ndmin=2)
print(k)
print(k.ndim)
numpy.arange([start, ]stop, [step, ]dtype=None, *,
like=None)
| 参数 | 含义 |
|---|---|
| start | 可选参数,起始值,默认值为0 |
| stop | 结束值(不包含) |
| step | 可选参数,步长,默认值为1 |
| dtype | 可选参数, 数组数据的类型,默认根据其他输入参数情况推断 |
| like | 尚不清楚 |
# 1. 只有1个参数
a1 = np.arange(8) # 结束值为8,起始值默认0,步长默认为1
print(a1)
print(a1.dtype)
# 2. 给定起始值、结束值
a2 = np.arange(2.2,9.9)
print(a2)
print(a2.dtype)
# 3. 给定起始值、结束值、步长
a3 = np.arange(2.2,9.9,0.8)
print(a3)
print(a3.dtype)
a4 = np.arange(0, 201, 3)
print(a4)
print(a4.shape)

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None,
axis=0)
创建等差数组
| 参数 | 含义 |
|---|---|
| start | 起始值 |
| stop | 结束值 |
| num | 产生的样本量,可选参数,默认为50个 |
| endpoint | 布尔值,可选参数,取值位True,则包含结束值;否则不包含;默认包含结束值 |
| retstep | 布尔值,可选参数,默认取值False,只返回样本数据;取值位True时除样本数据外还会返回步长 |
| dtype | 可选参数,输出数组的数据类型,默认根据起始值和终止值推断 |
| axis | 可选参数,整数,指定存储样本的轴,仅当start或stop为数组时起作用 |
# 1. 给定起始值和结束值
s1 = np.linspace(0, 50)
print('s1:', s1)
# 2. 给定起始值、结束值和样本量
s2 = np.linspace(0, 50, 10)
print('s2:', s2)
# 3. 设定不包含结束值
s3 = np.linspace(0, 50, 10, endpoint=False)
print('s3:', s3)
# 4. 返回步长step
s4 = np.linspace(0, 50, 10, endpoint=False, retstep=True)
print('s4:', s4)
# 5.起始值与终止值为数组
a = np.array([1, 2])
b = np.array([7, 8])
s5 = np.linspace(a, b, num=4, axis=0)
print('s5:', s5)
s6 = np.linspace(a, b, num=4, axis=1)
print('s6:', s6)

创建等比数组
numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None,
axis=0)
| 参数 | 含义 |
|---|---|
| start | 起始值 |
| stop | 结束值 |
| num | 产生的样本量,可选参数,默认为50个 |
| endpoint | 布尔值,可选参数,取值位True,则包含结束值;否则不包含;默认包含结束值 |
| base | 可选参数,底数,默认为10 |
| dtype | 可选参数,输出数组的数据类型,默认根据起始值和终止值推断 |
| axis | 可选参数,整数,指定存储样本的轴,仅当start或stop为数组时起作用 |
g1 = np.logspace(1, 5, num=5)
print('g1:', g1)
g2 = np.logspace(1, 5, num=5, endpoint=False)
print('g2:', g2)
g3 = np.logspace(1, 5, num=5, base=2)
print('g3:', g3)

总结:
np.logspace(A,B,C,base=D)
A : 生成数组的起始值为D的A次方
B: 生成数组的结束值为D的B次方
C: 总共生成C个数
D: 指数型数组的底数为D,默认为base=10
numpy.zeros(shape, dtype=float, order='C', *, like=None)
返回指定形状和数据类型的以0填充的数组
| 参数 | 含义 |
|---|---|
| shape | 数组形状,取值为整数或整数组成的元组 |
| dtype | 可选参数;生成数组的数据类型,默认为float64 |
| order | 可选参数;内存中数据的存储形式 |
| like | 尚不清楚 |
# 创建一维数组
a = np.zeros(5)
print(a)
print(a.shape)
b = np.zeros((5,))
print(b)
print(b.shape)
# 指定输出数组的数据类型
d = np.zeros((5,), dtype='int32')
print(d)
print(d.shape)
# 创建二维数组
e = np.zeros((2, 3))
print(e)
print(e.shape)

numpy.ones(shape, dtype=float, order='C', *, like=None)
返回指定形状和数据类型的以1填充的数组
| 参数 | 含义 |
|---|---|
| shape | 数组形状,取值为整数或整数组成的元组 |
| dtype | 可选参数;生成数组的数据类型,默认为float64 |
| order | 可选参数;内存中数据的存储形式 |
| like | 尚不清楚 |
# 创建一维数组
a = np.ones(5)
print(a)
print(a.shape)
b = np.ones((5,))
print(b)
print(b.shape)
# 指定输出数组的数据类型
d = np.ones((5,), dtype='int32')
print(d)
print(d.shape)
# 创建二维数组
e = np.ones((2, 3))
print(e)
print(e.shape)

| 属性 | 说明 |
|---|---|
| ndarray.ndim | 秩,即数组维度的数量 |
| ndarray.shape | 数组的维度,如矩阵:n行m列 |
| ndarray.size | 数组元素的个数,相当于shape中的n*m |
| ndarray.dtype | 数组中元素的类型 |
| ndarray.itemsize | ndarray中每个元素的大小,以字节为单位 |
参考文献:numpy.array