本篇文章主要介绍了用numpy生成数组,计算、改变数组维数和数组的计算方法,如下:
1、numpy生成数组
import numpy as np
t1=np.arange(12)
print(t1)
print(t1.shape)###(12,)说明是该数组是一维,shape是计算数组维数
t2=np.array([[1,2,3],[4,5,6]])
print(t2.shape)###(2,3)说明该数组是二维
t3=np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
print(t3.shape)###(2,2,3)说明该数组是三维
ps:np.arange()是numpy独有的生成数组的方法,后续生成数组都用这种简便方法。
2、shape、reshape、flatten的用法
用法:对象.shape-------用来观看数组的维数
对象.reshape()-----用来调整数组的维数,()里面需要输入参数
对象.flatten()-------返回一个折叠成一维的数组,()不需要输入参数
t4=np.arange(12)
print(t4)
t4.reshape(3,4)###reshape改变数组为3行4列
t5=np.arange(24).reshape((2,3,4))
print(t5)##生成2个3行4列的数组
t5.reshape((4,6))
t5=t5.reshape((4,6))
print(t5)
t5.reshape((24,1))##生成24行1列
t5.reshape((1,24))##生成1行24列·
t6=t5.reshape((t5.shape[0]*t5.shape[1],))###shape(0)是行数,shape(1)是列数
print(t6)
t5.flatten()###flatten不需要输入参数
3、数组的计算
第一部分:数组和数的计算,比较简单,是对于数组的每一个元素和数字的计算
###数组的计算
print(t5)
t5+2###数组每个数都加2
t5/2###数组每个数都除以2
t5/0###数组每个数除0,不能运行
第二部分:数组和数组的计算,由于数组维数大不相同,所以分为三种情况
- 两个数组的维数完全相同,则对应元素进行计算。
- 两个数组只有某一维相同,则维数少的数组的某一维的元素分别加到另一个维数多数组对应位置,不只加一次。
- 两个数组维数都不相同时,不能计算。
###两个想同维度的数组计算,对应位置元素进行计算 # t6=np.arange(100,124).reshape((4,6)) ··45333333333333333· t6*t5##对应元素相乘 ###两个不同维度的数组计算 ##某个数组的行或列维度和另个数组维数一样,则某个行列数大的每行或者每列增加或减少行数或列数相同的数组的每个元素(维度至少有一个相同) t7=np.arange(0,6) print(t7) t5-t7###t5每一行减去t7的各个元素 t5*t7###t5的每一行乘t7的各个元素 ##行列数没有一个相同的两个数组则不能计算(维度没有一个相同)