import numpy as np a=[1,2,3,4,5,6] b=np.array(a) print(type(a),type(b),b.shape) # <class 'list'> <class 'numpy.ndarray'> (6,) b=[_ for _ in range(1,13)] b=[b[0:4],b[4:8],b[8:12]] b=np.array(b) print(b) # [[ 1 2 3 4] # [ 5 6 7 8] # [ 9 10 11 12]] c=b.reshape(4,-1) # 使用numpy的reshape方法,可以创建/返回修改了尺寸的新数组,原始数组的shape保持不变 # 即numpy的reshape方法不是in-place operation print(c,c.shape) # [[ 1 2 3] # [ 4 5 6] # [ 7 8 9] # [10 11 12]] (4, 3) b[0][1]=20 print('b=\n',b) print('c=\n',c) # 数组b和数组c共享内存,修改其中的任意一个将会影响另外一个 # b= # [[ 1 20 3 4] # [ 5 6 7 8] # [ 9 10 11 12]] # c= # [[ 1 20 3] # [ 4 5 6] # [ 7 8 9] # [10 11 12]] print(b.dtype)#int32 # 数组的元素数值类型可以通过dtype属性获得 d=np.array(b,dtype=np.float) print(d,d.dtype) # [[ 1. 20. 3. 4.] # [ 5. 6. 7. 8.] # [ 9. 10. 11. 12.]] float64 # f=np.array(b,dtype=np.complex) # print(f) # [[ 1.+0.j 20.+0.j 3.+0.j 4.+0.j] # [ 5.+0.j 6.+0.j 7.+0.j 8.+0.j] # [ 9.+0.j 10.+0.j 11.+0.j 12.+0.j]] # 更改numpy array的数据类型,可以使用astype函数安全地转换 f=d.astype(np.int) # 使用numpy中的函数创建numpy.ndarray数组 # arange函数类似于python中的range函数,指定起始值,终止值,步长 # 和python中的range函数相同,arange同样不包含终止值, # 但是python range() 函数可创建一个整数列表,一般用在 for 循环中。 # 即python中的range函数:其中的三个数值:起始值,终止值和步长都只能是整数 # 而numpy中的arange函数输入可以是浮点数 a=np.arange(1,10,0.5,dtype=np.float) print(a) # np.linspace 给定起始值和终止值(默认情况下终止值可以取到),以及一共取多少个数值(输出的数组是一个等差数列) b=np.linspace(1,10,10) print(b)#[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.] # numpy linespace 通过endpoint关键字指定是否包含终止值 b=np.linspace(1,10,10,endpoint=False) print(b) # [1. 1.9 2.8 3.7 4.6 5.5 6.4 7.3 8.2 9.1] c=np.logspace()
python numpy基础
最新推荐文章于 2023-09-13 19:29:12 发布