1、创建数组的集中方式:
- np.empty([3, 3]) 里面是数组的形状 :返回一个随机元素的矩阵,所以使用的时候要小心。需要手工把每一个值重新定义,否则该值是接近零的随机数
- np.zeros()创建纯零数组
- np.ones(5) 纯1数组
- np.asarray(列表) 列表创建数组
- np.arange(5) 范围创建数组
- np.random.rand(2, 3) 随机数创建数组
- np.random.randint(5, size=(2, 3))
- np.random.randn(2, 2) randn():生成服从N(0,1)N(0,1)的标准正态分布
- np.linspace(1,10,5) 等差数列 1:起始 10:终止 5: 元素个数
- np.logspace(0,2,5) 0表示10的零次方,2表示10的2次方,5表示最终生成的元素数量为5个
2、数组性质:
- ndarray.ndim - 数组的轴(维度)的个数。在Python世界中,维度的数量被称为rank。
- ndarray.shape - 数组的维度。这是一个整数的元组,表示每个维度中数组的大小。对于有 n 行和 m 列的矩阵,shape 将是 (n,m)。因此,shape 元组的长度就是rank或维度的个数 ndim。
- ndarray.size - 数组元素的总数。这等于 shape 的元素的乘积。
- ndarray.dtype - 一个描述数组中元素类型的对象。可以使用标准的Python类型创建或指定dtype。另外NumPy提供它自己的类型。例如numpy.int32、numpy.int16和numpy.float64、np.float32 、np.bool_。
- ndarray.itemsize - 数组中每个元素的字节大小。例如,元素为 float64 类型的数组的 itemsize 为8(=64/8),而 complex32 类型的数组的 itemsize 为4(=32/8)。它等于 ndarray.dtype.itemsize 。
- ndarray.data - 该缓冲区包含数组的实际元素。通常,我们不需要使用此属性,因为我们将使用索引访问数组中的元素。
3、形状操作
- 设l是一个np数组
- l.reshape()
4、将不同数组堆叠在一起
垂直叠加
#方法一
c = np.concatenate([a,b],axis=0)
print(f"concatenate:{c}")
#方法二
c = np.vstack([a,b])
print(f"vstack:{c}")
#方法三
c = np.r_[a, b]
print(f"r_:{c}")
水平叠加
#方法一
c = np.concatenate([a,b],axis=1)
print(f"concatenate:{c}")
#方法二
c = np.hstack([a,b])
print(f"hstack:{c}")
#方法三
c = np.c_[a, b]
print(f"c_:{c}")