编程实例1:
使用array()函数创建数组,元素为[5, 3, 8]
使用arange()函数创建数组,包含1到100范围内的偶数
创建3行5列的全1数组和全0数组
import numpy as np
arr = np.array([5,3,8])
print(arr)
arr1 = np.arange(1,100,2)
print(arr1)
arr2 = np.zeros((3,5))
print(arr2)
arr3 = np.ones((3,5))
print(arr3)
print(arr.dtype)
print(arr1.dtype)
print(arr2.dtype)
print(arr3.dtype)
知识点:array数组指生成()中的数组
但是arange指生成()中指定范围中的有序整数,注意是生成半开半闭区间
arange函数的参数(起始值,要取得的末尾值+1,步长)
编程实例2:
创建n行m列的数组,包含0到n*m-1的整数
将上述数组转为一维数组
import numpy as np
print('please input n and m:')
n,m = map(int,input().split())
arr = np.arange(0,n*m).reshape(n,m)
print(arr)
print(arr.ravel())
知识点:这里的ravel()函数是指可以转化为一维数组
编程实例3:
生成一个4行2列和一个4行3列的数组,将它们合并为一个数组(同行合并),再拆分为两个等规模的数组
生成一个2行5列和一个5行5列的数组,将它们合并为一个数组(同列合并),再拆分为两个小数组(3行和4行)
import numpy as np
arr = np.arange(8).reshape(4,2)
arr1 = np.arange(12).reshape(4,3)
print(arr)
print(arr1)
arr = np.concatenate([arr,arr1],axis=1)
print(arr)
知识点:这里的函数concatenate作用是按照指定的秩合并
也可以使用函数hstack([arr1, arr2])代替,该函数主要指数组间同行合并
arr = np.hstack([arr1, arr2])
知识点:concatenate([arr1,arr2],axis):按照指定的秩合并
vstack([arr1,arr2])是指数组间同列合并
import numpy as np
arr = np.arange(10).reshape(2,5)
arr1 = np.arange(25).reshape(5,5)
print(arr)print(arr1)
arr = np.vstack([arr,arr1])
print(arr)print(np.split(arr,[3,7]))
编程实例4:生成一个3行5列的数组,元素为6~20,将第1、2行(索引从0开始)的值置为0,将第1、2行(索引从0开始)的值恢复为原来的值
import numpy as np
arr = np.arange(6,21).reshape(3,5)
print('*******************
',arr)
slice = arr[1:3].copy()
arr[1:3] = 0
print('*******************
',arr)
arr[1:3] = slice
print('*******************
',arr)
知识点:这里的copy函数主要代表数组的复制
且这里数组的 [1:3] 代表的其实是第一行和第二行,因为Ndarray数组是一个半开半闭的数组类型
编程实例5:生成一维随机整数数组,取值范围为-10~100,元素数量为20个,生成3行5列的随机浮点数数组,取值范围为0.0~1.0
import numpy as np
arr = np.random.randint(-10,100,size = (3,5))
print(arr)
arr1 = np.random.rand(3,5)
print(arr1)
知识点:这里的随机生成数组的函数分别有randint、rand,一个用来生成给定范围内的实数,一个用来生成在0~1范围内的随机浮点数