赞
踩
1.创建从0到15的一维数组。
- import numpy as np
- #arr=np.array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])
- arr=np.arange(0,16,1)
- print(arr)
2.创建一个5*4的二维数组,值全为True(真)。
- import numpy as np
- arr=np.ones((5,4),dtype=bool)
- arr
'运行
3.从数组[3, 4, 0, 0, 5, 0]中找出非0元素的位置索引。
- import numpy as np
- arr=np.array([3,4,0,0,5,0])
- inder=np.where(arr!=0)
- inder
4.从数组np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])中提取所有的偶数。
- import numpy as np
- arr=np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
- print(arr[arr%2==0])
'运行
5.将数组np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])中的所有奇数替换为-1。
- arr2=np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
- arr2[arr%2!=0]=-1
- print(arr2)
6.将数组np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])中的所有偶数替换为-1,而不改变原数组。
- import numpy as np
- arr=np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
- arr3=np.where(arr%2==0,-1,arr)
- print(arr3)
'运行
7.将一维数组np.arange(10)转换为2行的二维数组。
- import numpy as np
- arr=np.arange(10).reshape((2,-1))
- arr
8.将数组a = np.arange(10).reshape(2,-1)和数组b = np.repeat(1, 10).reshape(2,-1)垂直堆叠。
- import numpy as np
- arr1=np.arange(10).reshape((2,-1))
- arr2=np.repeat(1, 10).reshape(2,-1)
- arr3=np.vstack((arr1,arr2))
- arr3
'运行
9.将数组a = np.arange(10).reshape(2,-1)和数组b = np.repeat(1, 10).reshape(2,-1)水平堆叠。
- import numpy as np
- arr1=np.arange(10).reshape((2,-1))
- arr2=np.repeat(1, 10).reshape(2,-1)
- arr4=np.hstack((arr1,arr2))
- arr4
10.获取数组a = np.array([1,2,3,2,3,4,3,4,5,6])和数组b = np.array([7,2,10,2,7,4,9,4,9,8])元素相匹配的位置。
- import numpy as np
- a = np.array([1,2,3,2,3,4,3,4,5,6])
- b = np.array([7,2,10,2,7,4,9,4,9,8])
- arr=np.where(a==b)
- arr
11.从数组np.arange(15)中提取4到12之间的所有数字。
- import numpy as np
- arr1 = np.arange(15)
- arr2=arr1[(arr1>=4)&(arr1<=12)]
- arr2
12.交换数组np.arange(9).reshape(3,3)中的第1列和第2列
- import numpy as np
- arr=np.arange(9).reshape(3,3)
- arr1=arr[:,[1,0,2]]
- arr1
'运行
13.交换数组np.arange(9).reshape(3,3)中的第1行和第2行。
- import numpy as np
- arr=np.arange(9).reshape(3,3)
- arr1=arr[[1,0,2],:]
- arr1
14.创建一个形状为5x3的二维数组,其包含5到10之间的随机浮点数
- import numpy as np
- arr=np.random.uniform(5,10,(5,3))
- arr
'运行
15.获取数组a = np.array([1,2,3,2,3,4,3,4,5,6])和数组b = np.array([7,2,10,2,7,4,9,4,9,8])之间的共同元素。
- import numpy as np
- a = np.array([1,2,3,2,3,4,3,4,5,6])
- b = np.array([7,2,10,2,7,4,9,4,9,8])
- #index=np.isin(a,b)
- arr15=np.unique(a[index])
- arr15
16从数组a = np.array([1,2,3,2,3,4,3,4,5,6])中删除在数组b =np.array([7,2,10,2,7,4,9,4,9,8])中存在的所有元素。
- import numpy as np
- a = np.array([1,2,3,2,3,4,3,4,5,6])
- b = np.array([7,2,10,2,7,4,9,4,9,8])
- #c=list(set(a).difference(set(b)))
- c=[i for i in a if i not in b]
- c
'运行
17.反转二维数组np.arange(9).reshape(3,3)的行。
- import numpy as np
- arr=np.arange(9).reshape(3,3)
- arr17=arr[::-1]
- arr17
18.反转二维数组np.arange(9).reshape(3,3)的列。
- import numpy as np
- arr=np.arange(9).reshape(3,3)
- arr18=arr[:,::-1]
- arr18
'运行
19.把数组np.arange(15)的随机位换成值44
- arr=np.arange(15)
- np.random.seed(10)
- arr[np.random.choice(len(arr))]=44
- arr
20.查找数组np.array([1,2,3,2,3,4,3,4,5,6])中的唯一值的数量。
- import numpy as np
- arr = np.array([1,2,3,2,3,4,3,4,5,6])
- unique_values = np.unique(arr)
- count = len(unique_values)
- print("唯一值的数量为:", count)
'运行
21.找出二维数组np.arange(16).reshape(4,4)每一行中的最大值。
- import numpy as np
- arr = np.arange(16).reshape(4,4)
- max_values = np.amax(arr, axis=1)
- print("每一行中的最大值为:", max_values)
22.计算数组a = np.array([1,2,3,2,3,4,3,4,5,6])和数组b = np.array([7,2,10,2,7,4,9,4,9,8])之间的欧式距离。
- import numpy as np
- a = np.array([1,2,3,2,3,4,3,4,5,6])
- b = np.array([7,2,10,2,7,4,9,4,9,8])
- distance = np.linalg.norm(a - b)
- print("两个数组之间的欧式距离为:", distance)
'运行
23.起点3,长度10和步长5,创建一个numpy数组。
- import numpy as np
- start = 3
- length = 10
- step = 5
- arr = np.arange(start, start + length * step, step)
- print("创建的数组为:", arr)
24.从二维数组a = np.array([[3,3,3],[4,4,4],[5,5,5]])中的每行减去一维数组b= np.array([1,2,3])中相应的值。
- import numpy as np
- a = np.array([[3,3,3],[4,4,4],[5,5,5]])
- b= np.array([1,2,3])
- arr24=a-b[:,np.newaxis]
- arr24
'运行
25.判断数组np.array([1,2,3,2,3,4,3,4,5,6])有没有NaN值。
- arr=np.array([1,2,3,2,3,4,3,4,5,6])
- arr25=np.isnan(arr).any()
- arr25
26.把数组[1,2,3,2,np.nan,4,3,4,5,6]中的NaN值替换成0。
- arr=np.array([1,2,3,2,np.nan,4,3,4,5,6])
- array[np.isnan(arr)]=0
- array
'运行
27.求数组np.array([7,2,10,2,7,4,9,4,9,8])中的第二大值。
- arr=np.array([7,2,10,2,7,4,9,4,9,8])
- arr27=np.unique(arr)[-2]
- arr27
28.把数组np.random.randint(1,10(3,3))按照数组最后一列的数值进行排序
- np.random.seed(5)
- arr=np.random.randint(1,10,(3,3))
- order=np.argsort(arr[:,-1])
- arr28=arr[order,:]
- arr28
'运行
29.找出数组np.array([7,2,10,2,7,2,4,9,4,9,8])中出现频率最高的值。
- arr=np.array([7,2,10,2,7,2,4,9,4,9,8])
- arr29=np.unique(arr,return_counts=True)[0][0]
- arr29
30.找出数组np.array([1, 2, 1, 1, 3, 4, 3, 1, 1, 2, 1, 1, 2])中第五个1出现的位置。
- arr=np.array([1, 2, 1, 1, 3, 4, 3, 1, 1, 2, 1, 1, 2])
- arr30=np.argsort(arr)[4]
- arr30
31.创建一个5*5的矩阵,每行的数值都是从0到4。
- import numpy as np
- a=np.arange(5)
- b=np.zeros((5,5))
- arr31=a+b
- arr31
32.给定数组[5, 4 3, 3, 1],如何得到在这个数组的每个元素之间插入4个0后的新数组?
- a=np.array([5, 4,3, 3, 1]).reshape(5,1)
- b=np.zeros((5,4))
- arr32=np.concatenate([a,b],axis=1)
- arr32
'运行
33.如何根据第4列来对一个6*6随机整数矩阵排序?
- arr33=np.random.randint(0,36,size=36).reshape(6,6)
- arr33
34. NumPy矩阵操作:
- #(1)创建主对角线都是5的5x5矩阵;
- result=np.diag([5,5,5,5,5])
- result
'运行
- #(2) 交换第一列与第二列;
- a2=result[[1,0,2,3,4],:]
- a2
- #(3)交换倒数第一行与倒数第二行;
- a3=result[:,[0,1,2,4,3]]
- a3
'运行
- #(4)计算该矩阵的行列式;
- a4=np.linalg.det(result)
- a4
- #(5)求该矩阵的逆;
- a5=np.linalg.inv(result)
- a5
- #(6)将矩阵中值为0的元素修改为8;
- a6=result[result==0]=8
- result
- #(7)对result矩阵按列求和;
- a7=np.sum(result,0)
- a7
'运行
- #(8)对result矩阵按行求和。
- a8=np.sum(result,1)
- a8
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。