下载numpy包
from numpy import * print(eye(4)) 打印4行4列的数组,每个数后面都有小数点,第n行第n列的数都为一,其余为0(1<=n<=4)import numpy as np
import numpy as np a=np.array([1,2,3])创建一个ndarray对象 ndarray是多维数组 dimensional 维度 print(a.dtype)打印数据类型 int32表示4字节的整形 print(a.shape)打印数组的元素个数 a=np.array([1,2],[3,4])二维数组 print(a.shape)打印出(2,2) a=np.array([1,2,3,4,5],ndmin=2) ndmin制定最小维度 a=np.array([1,2,3,4],dtype=complex) 指定数据类型为复数类型 b=np.dtype(np.int32)指定数据类型对象,也可写float32 a=np.array([1,2,3],dtype=b)创建数组,指定数据类型 dt=np.dtype([('age',np.int8)])定义一个1字节的int型 age是字段名 a=np.array([(10),(20),(30)],dtype=dt)#用dt数据类型创建数组 print(a)打印数组 st=dtype([('name','S20'),('age','i4'),('marks','f4')])S20是指定长度为20个字符,超出范围会从第一个开始取值 i4和f4都是4字节的数据类型,i4的取值范围是-2147483648~2147483647,f4的取值范围是-3.4×10^38~3.4×10^38 i4和f4超出数据范围不会报错但是会输出和原数不同的数 student=np.array([('zhang',18,60),('li',22,80)])创建数组 print(student) a=np.arange(20)在0~19范围内创建数组 b=slice(0,9,2)包括0不包括9 步长为2 从0开始数每隔1个数就打印一个元素 print(a[b]) print(a[0:9:2])两步合成一步的切片 print(a[2:])从2到底,步长为1 a=np.array([[1,2,3],[3,4,5],[4,5,6]]) print(a[1:])打印第二行及往后的数(1表示数组的索引 ...表示无数行或无数列) print(a[...,1)打印第二列 print(a[1,...])打印第二行 print(a[...,1:])打印第二列及往后 print(a[1:,1:])打印第二行第二列及往后 a数组和b数组相乘变成[ 10 40 90 160],相加变成[ 11 22 33 44]前提是两个数组维度和形状一样 a=np.array([1,2,3,4]) b=np.array([10,20,30,40]) c=a+b print(c) print('---------b数组乘以a数组的每一行数据-----------') a=np.array([[0,0,0], [10,10,10], [20,20,20], [30,30,30]]) b=np.array([1,2,3]) print(a*b) 结果: [[ 0 0 0] [10 20 30] [20 40 60] [30 60 90]] l=np.tile(b,(4,1))重复b数组的各个维度 打印四行1,2,3,一列[1,2,3] print(l) print(a+l)第一行是[1 2 3] 第二行的每一个元素前面加一个1,第三行的每一个元素前面加一个2,第四行的每一个元素前面加一个3 a=np.arange(10).reshape(2,5)改变数组形状为2行5列 a=np.arange(6).reshape(2,3) for x in np.nditer(a):迭代输出元素 print(x,end=",")遍历后的数以逗号分隔 a=np.arange(9).reshape(3,3) for i in a: print(i)每次输出一行元素 for i in a.flat: print(i)迭代输出 print('#复制一份数据,复制的数据形状变成了4,2 原数据是2,4没有改变形状') a=np.arange(8).reshape(2,4) print(a.flatten().reshape(4,2)) print(a.ravel().reshape(3,4))也是复制数组 a=np.arange(12).reshape(3,4) print(np.transpose(a))兑换数组维度3,4变成4,3 a=np.arange(4).reshape(1,4) print(np.broadcast_to(a,(4,4)))数组变成4,4,下面的3行都是相同的数据 a=np.array([[1,2],[3,4]]) b=np.array((5,6],[7,8])) print(np.concatenate((a,b)))连接数组,变成4,2 行变列不变 print(np.stack((a,b)))按照0轴的方向连接,变成3维 a=np.arange(9) b=np.split(a,3)分割数组,把a切成三份数组 print(b) a=np.array([[1,2,3],[4,5,6]]) b=np.append(a,[7,8,9])在数组的后面添加一行数组 变成了一维数组 print(b)
import numpy as np e=np.empty([3,4],dtype=float,order='C')创建空数组。C是行优先按行排序 F是列优先按列排序 print(e) z=np.zeros([4,5],dtype=int,order='C')创建0数组,所有元素都是0 o=np.ones([4,2],dtype=[('x','i1'),('y','i2')],order='C')创建1数组 x表示行y表示列 'C' 用于 C 的行数组,'F' 用于 FORTRAN 的列数组 从已有数组中创建数组 x=[1,2,3] a=np.asarray(x,dtype='f2') print(a) 元组转变为数组 t=(1,2,3) b=np.asarray(t) print(b) 将元组列表转变为数组 l=[(1,2,3),(4,5)] c=np.asarray(l,dtype=object) print(c) print(c.__len__())打印c的长度,有几行 r=np.arange(10,20,2,dtype=float)切片, 10~19的范围内每+2就取一个值 print(r) a=np.logspace(1.0,3.0,num=10)#num是5个数,默认底数为10不能修改,10^1~10^3生成5个等比数列 等比为1.668100537 print(a)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)