ndarray(数组)是储存单一数据类型的多维数组
属性 | 说明 |
---|---|
ndim | 返回int。表示数组的维数 |
shape | 返回tuple。表示数组的尺寸,(n,m) |
size | 返回int。表示数组元素总数,等于shape的乘积 |
dtype | 返回data-type.描述数组元素的类型 |
itemsize | 返回int。表示数组每个元素的大小 |
numpy.array(object,dtype=None,copy=True,ndmin=0)
arr1=np.array([1,2,3,4])#一维数组
arr2=np.array([1,2,3,4],[4,5,6,7],[7,8,9,10])#二维数组
print(arr2.shape)#数组结构
print(arr2.dtype)#数组类型
print(arr2.size)#元素个数
arr2.shape=4,3#重新设置shape
print(np.arrange(0,1,0.1))#使用arange函数创建数组(无终值)
print(np.linspace(0,1,12))#(后面是个数,有终值)
print(np.logspace(0,2,20))#(创建等比数列,后面是个数)
print(np.zero(2,3))#生成2x3的零数组
print(np.eye(3))#生成3*3全为1的对角矩阵
print(np.diag([1,2,3,4])#生成1,2,3,4的对角矩阵
print(np.ones(5,3))#生成5*3全为1的矩阵
df=np.dtype([("name",np.str_,40),("numitems",np.int64),("price",np.float64)])
创建一个长度为40的字符串来记录商品的名称,用64位整数记录商品的存库数量,用64位 的单精度浮点数来记录商品价格。
print(np.random.random(100))#无约束下生成随机数
print(np.random.rand(10,5))#生成服从均匀分布的随机数
print(np.random.randn(10,5))#生成服从正态分布的随机数
print(np.random.randint(2,10,size=[2,5]))#生成最小值不低于2最大值不大于5的2行5列数组
arr=np.arrange(10)
print(arr[3:5])#包括arr[3]不包括arr[5]
print(arr[:5])#省略开始小标,从arr[0]开始
print(arr[-1])#从后面开始
print(arr[5:1:-2])#步长为负数,第一下标大于第二下标
arr=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
print(arr[0,3:])#索引第0行中的第3行和第四行的元素
print(arr[1:,(0,2,3)])#索引第2、3行中第0、2、3列的元素
arr=np.arange(12)
print(arr.reshape(3,4))#设置数组形状
print(arr.reshape(3,4).ndim)#维度为2
print(arr.ravel())#数组展平
print(arr.flatten())#向横展平
print(arr,flatten('F'))#纵向展平
np.hstack((arr1,arr2))#横向组合
np.vstack((arr1,arr2))#纵向组合
np.concatenate((arr1,arr2,axis=1)#横向组合
np.concetenate((arr1,arr2),axis=0)#纵向组合
np.hsplit(arr,2)#横向分割
np.vsplit(arr,2)#纵向分割
np.split(arr,2,axis=1)#横向切割
np.split(arr,2,axis=0)#纵向分割