1.随机生成在10-20之间三维整数型数组m。
并求出所有元素的和输出m数组每一列元素的最小值
输出m数组每一行的平均数
import numpy as np
m = np.random.randint(10, 21, (2, 4, 3))
print("随机生成的数组:\n", m)
print("每一列元素的最小值:\n", m.min(axis=2))
print("每一行的平均数:\n", m.mean(axis=1))
随机生成的数组:
[[[10 16 19]
[13 15 15]
[14 15 13]
[19 20 19]]
[[14 10 10]
[15 15 18]
[14 19 15]
[13 16 13]]]
每一列元素的最小值:
[[10 13 13 19]
[10 15 14 13]]
每一行的平均数:
[[14. 16.5 16.5]
[14. 15. 14. ]]
2.生成3行2列的全零数组b
import numpy as np
b = np.zeros((3, 2))
print(b)
[[0. 0.]
[0. 0.]
[0. 0.]]
3.随机生成一个二维数组a,大小为4行6列,元素为0到99 的随机整数 输出a数组的数据类型、维数、形状、元素总个数
import numpy as np
a = np.random.randint(0, 100, (4, 6))
print("数据类型:", a.dtype)
print("维数:", a.ndim)
print("形状:", a.shape)
print("元素总个数:", a.size)
数据类型: int32
维数: 2
形状: (4, 6)
元素总个数: 24
4.定义一个NumPy一维数组 d,元素为1到10 的整数 获取数组d中间位置的元素,范围为第4个到第7个(索引从0开始计数) 获取数组d中所有偶数位置的元素(从索引1开始,步长为2)
import numpy as np
d = np.arange(1, 11)
print(d[3:7])
print(d[1::2])
[4 5 6 7]
[ 2 4 6 8 10]
5.将一个有12个元素的一维整数数组,使用reshape方法将形状改为(2,2,3)
import numpy as np
a = np.arange(1, 13)
print(a)
print("reshape后:\n",a.reshape(2, 2, 3))
[ 1 2 3 4 5 6 7 8 9 10 11 12]
reshape后:
[[[ 1 2 3]
[ 4 5 6]]
[[ 7 8 9]
[10 11 12]]]
6.使用广播机制将一个形状为(3,1)的数组与一个形状为(3,4)的数组相乘,对题中计算结果进行一维度展开,并排序。
import numpy as np
a = np.array([[1],
[2],
[3]])
b = np.array([[1, 4, 3, 2],
[5, 7, 6, 8],
[11, 14, 33, 22]])
c = a * b
print(c)
d = c.flatten()
d.sort()
print(d)
[[ 1 4 3 2]
[10 14 12 16]
[33 42 99 66]]
[ 1 2 3 4 10 12 14 16 33 42 66 99]
1.生成一个2行3列随机整数二维数组a 2.使用Numpy方法对(1)中数组a进行整体求积 3.使用Numpy方法对(1)中数组a进行求每列最大值索引
import numpy as np
a = np.random.randint(1, 10, (2, 3))
print(a)
num_1 = np.prod(a)
print("整体求积:",num_1)
print("每列最大值的索引为:\n", np.argmax(a, axis=0))
[[9 1 4]
[2 3 2]]
整体求积: 432
每列最大值的索引为: [0 1 0]
4.定义一个NumPy一维数组 b,元素为 1 到 10 的整数 5.获取(4)数组b中最后五个元素并以倒序的形式输出 6.获取(4)数组b中第三个元素到最后一个元素的每两个元素(步长为 2)
import numpy as np
b = np.arange(1, 11)
print(b[-5:][::-1])
print(b[2::2])
[10 9 8 7 6]
[3 5 7 9]
7.随机生成一个一维数组 d,大小为 19,元素为 0 到 199 的随机整数。 8.输出(7)中数组 d 的数据类型、维数、形状、元素总个数。
import numpy as np
d = np.random.randint(0, 200, 19)
print("d的数据类型:", d.dtype)
print("d的维数:", d.ndim)
print("d的形状:", d.shape)
print("d的元素总个数:", d.size)
d的数据类型: int32
d的维数: 1
d的形状: (19,)
d的元素总个数: 19
9.生成一个范围在 11-21 之间,具有 2 行 3 列的随机浮点数数组。
import numpy as np
a = np.random.rand(2, 3) * 10 + 11
print(a)
[[11.82737704 13.35839565 20.26319419]
[15.49299358 19.98609301 17.35859361]]
10.创建一个 4 行 5 列的全零数组并输出。
import numpy as np
a = np.zeros((4, 5))
print(a)
[[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]]
11.创建一个 5 行 2 列的全一数组并输出。
import numpy as np
a = np.ones((5, 2))
print(a)
[[1. 1.]
[1. 1.]
[1. 1.]
[1. 1.]
[1. 1.]]
12.使用 NumPy 创建一个包含 8 个整数 的数组,每个整数为 4。
import numpy as np
a = np.full(8, 4)
print(a)
[4 4 4 4 4 4 4 4]
13.创建一个形状为 (6, 4) 的二维数组,所有元素均为 6。
import numpy as np
a = np.full((6, 4), 6)
print(a)
[[6 6 6 6]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]]
14.创建一个形状为 (3, 4) 的随机浮点数数组,数组元素在 0-4 之间。
import numpy as np
a = np.random.rand(3, 4) * 5
print(a)
[[0.15184641 4.45195742 1.55730171 2.80009102]
[1.82693277 4.51929755 0.77078499 1.21890436]
[3.61687715 1.7706852 0.42646501 3.82895312]]
15.创建一个形状为 (4, 3, 2) 的全一三维数组。
import numpy as np
a = np.ones((4, 3, 2))
print(a)
[[[1. 1.]
[1. 1.]
[1. 1.]]
[[1. 1.]
[1. 1.]
[1. 1.]]
[[1. 1.]
[1. 1.]
[1. 1.]]
[[1. 1.]
[1. 1.]
[1. 1.]]]
16.创建一个 6 行 3 列,均值为 110 的正态分布二维数组。
import numpy as np
a = np.random.normal(loc=110, scale=1, size=(6, 3))
print(a)
[[108.99817316 111.75130409 109.74574963]
[110.71069544 109.84349475 110.77168329]
[109.6594857 108.9410273 108.13307602]
[108.26573207 111.75681843 110.53127053]
[110.75043855 110.10602756 110.35204643]
[111.32388353 108.0393995 110.28702832]]
17.生成一个 1 到 35 之间具有 18 个元素的等差整数数组。
import numpy as np
a = np.arange(1, 36, 2)
print(a)
[ 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35]
18.生成一个 6 行 2 列的二维数组,输出第二列的所有元素。
import numpy as np
a = np.random.randint(1, 10, (6, 2))
print(a[:, 1])
[4 4 7 4 8 4]
19.创建一个形状为(2, 3)的NumPy数组,使用full方法将所有元素填充为值-1 ,输出数组。
import numpy as np
a = np.full((2, 3), -1)
print(a)
[[-1 -1 -1]
[-1 -1 -1]]
20.将一个 3 行 3 列的二维数组中所有大于 70 的元素设置为 5。
import numpy as np
a = np.random.randint(1, 100, (3, 3))
print(a)
a[a > 70] = 5
print("大于70的元素被设置为5")
print(a)
[[96 31 5]
[26 85 30]
[55 13 37]]
大于70的元素被设置为5
[[ 5 31 5]
[26 5 30]
[55 13 37]]
21.将一个有 15 个元素的一维整数数组,变形为 3 行 5 列的二维数组。
import numpy as np
a = np.arange(1, 16)
print(a.reshape(3, 5))
[[ 1 2 3 4 5]
[ 6 7 8 9 10]
[11 12 13 14 15]]
22.将一个 2 行 7 列的二维整数数组展平为一维数组并输出。
import numpy as np
a = np.arange(1, 15).reshape(2, 7)
print(a.flatten())
[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
23.生成一个0-20之间具有11个元素的随机整数数组,使用NumPy的sort函数对数组进行排序并输出。
import numpy as np
a = np.random.randint(0, 21, 11)
print(a)
print("排序后:")
print(np.sort(a))
[ 8 9 16 3 16 7 9 11 5 17 3]
排序后:
[ 3 3 5 7 8 9 9 11 16 16 17]
24.请使用NumPy的full函数创建一个形状为(3, 4)的二维数组,其中所有元素都填充为数字7,并将这个数组命名为arr。然后输出数组arr。
import numpy as np
arr = np.full((3, 4), 7)
print(arr)
[[7 7 7 7]
[7 7 7 7]
[7 7 7 7]]
25.请创建一个形状为5的一维数组,所有元素均为 2,数据类型为int,并输出它。
import numpy as np
arr = np.full(5, 2, dtype=int)
print(arr)
[2 2 2 2 2]