# order:创建数组的样式,C为行方向,F为列方向,A为任意方向
# numpy.array(object,dtype = None, copy =True, order = None, subok = False, ndmin = 0)
a = np.array([1,2,3])
b = np.array([[1,2],[3,4]]) # 二维数组,外面必须有一层方括号
c = np.array([1,2,3],dtype = complex) #复数
print(a)
print(b)
print(c)
numpy.empty方法用来创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组
#order - "C"和"F"两个选项,分别代表,行优先和列优先,在计算机内存中的存储元素的顺序。
# numpy.empty(shape,dtype = float, order = 'C')
x = np.empty([3,2],dtype = int) #创建一个3行2列,未初始化的数组
print(x)
numpy.zeros创建指定大小的数组,数组元素以 0 来填充
#numpy.zeros(shape, dtype = float, order = 'C')
y = np.zeros([2,5],dtype = int) #[2,5]圆括号、方括号 好像都行
print(y)
numpy.ones创建指定形状的数组,数组元素以 1 来填充
#numpy.ones(shape, dtype = None, order = 'C')
y = np.ones((2,5),dtype = int) #[2,5]圆括号、方括号 好像都行
print(y)
numpy.arange创建数值范围并返回 ndarray 对象
# start,stop指定范围,step设定步长,dtype数据类型生成ndarry
# numpy.arange(start,stop,step,dtype)
x = np.arange (10,20,2) # 10~20步长2,不包含20
y = np.arange(5) # 到5结束,默认0开始,步长1
print(x)
print(y)
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a,'\n')
print(a[1,:]) #第2行元素
print(a[1,...],'\n')
print(a[:,1]) # 第2列元素
print(a[...,1],'\n')
print(a[1:,:]) # 第2行及剩下的所有元素
print(a[1:,...],'\n')
print(a[:,1:]) # 第2列及剩下的所有元素
print(a[...,1:],'\n')
numpy.reshape 函数可以在不改变数据的条件下修改形状
a = np.arange(8)
print('a:\n',a)
b = a.reshape(4,2)
print("b:\n",b)
numpy.transpose 函数用于对换数组的维度,numpy.ndarray.T 类似 numpy.transpose
# numpy.transpose(arr,axes)
a = np.arange(8).reshape(4,2)
print("a:\n",a)
print("对换维度:\n",np.transpose(a))
numpy.expand_dims 函数通过在指定位置插入新的轴来扩展数组形状
# numpy.expand_dims(arr,axis)
a = np.array([[1,2],[3,4]])
print("a:\n",a)
b = np.expand_dims(a,axis = 0)
print("b:\n",b)
print("数组a和数组b形状:\n",a.shape, b.shape)
b = np.expand_dims(a,axis = 1)
print("b:\n",b)
print("数组a和数组b形状:\n",a.shape, b.shape)
b = np.expand_dims(a,axis = 2)
print("b:\n",b)
print("数组a和数组b形状:\n",a.shape, b.shape)
numpy.squeeze 函数从给定数组的形状中删除一维的条目
# numpy.squeeze(arr,axis)
a = np.arange(9).reshape(1,3,3)
print("a:\n",a)
b = np.squeeze(a)#去掉第一个维度
print("b:\n",b)
print("数组a和数组b形状:\n",a.shape, b.shape)
## numpy.concatenate
numpy.concatenate 函数用于沿指定轴连接相同形状的两个或多个数组
# numpy.concatenate((a1,a2,...),axis)
a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])
print(np.concatenate((a,b),axis = 0)) # 按行拼接
print('\n')
print(np.concatenate((a,b),axis = 1)) # 按列拼接