16. 对于一个存在在数组,如何添加一个用0填充的边界? (★☆☆)
(提示: np.pad)
Z = np.ones((5,5)) Z = np.pad(Z, pad_width=1, mode='constant', constant_values=0) print(Z)
17. 下面表达式运行的结果是什么?(★☆☆)
(提示: NaN = not a number, inf = infinity)
(提示:NaN : 不是一个数,inf : 无穷)
# 表达式 # 结果 0 * np.nan nan np.nan == np.nan False np.inf > np.nan False np.nan - np.nan nan 0.3 == 3 * 0.1 False
18. 创建一个 5x5的矩阵,并设置值1,2,3,4落在其对角线下方位置 (★☆☆)
(提示: np.diag)
Z = np.diag(1+np.arange(4),k=-1) print(Z)
19. 创建一个8x8 的矩阵,并且设置成棋盘样式 (★☆☆)
(提示: array[::2])
Z = np.zeros((8,8),dtype=int) Z[1::2,::2] = 1 Z[::2,1::2] = 1 print(Z)
20. 考虑一个 (6,7,8) 形状的数组,其第100个元素的索引(x,y,z)是什么?
(提示: np.unravel_index)
print(np.unravel_index(100,(6,7,8)))
21. 用tile函数去创建一个 8x8的棋盘样式矩阵(★☆☆)
(提示: np.tile)
Z = np.tile( np.array([[0,1],[1,0]]), (4,4)) print(Z)
22. 对一个5x5的随机矩阵做归一化(★☆☆)
(提示: (x - min) / (max - min))
Z = np.random.random((5,5)) Zmax, Zmin = Z.max(), Z.min() Z = (Z - Zmin)/(Zmax - Zmin) print(Z)
23. 创建一个将颜色描述为(RGBA)四个无符号字节的自定义dtype?(★☆☆)
(提示: np.dtype)
color = np.dtype([("r", np.ubyte, 1), ("g", np.ubyte, 1), ("b", np.ubyte, 1), ("a", np.ubyte, 1)]) color
24. 一个5x3的矩阵与一个3x2的矩阵相乘,实矩阵乘积是什么?(★☆☆)
(提示: np.dot | @)
Z = np.dot(np.ones((5,3)), np.ones((3,2))) print(Z)
25. 给定一个一维数组,对其在3到8之间的所有元素取反 (★☆☆)
(提示: >, <=)
Z = np.arange(11) Z[(3 < Z) & (Z <= 8)] *= -1 print(Z)
26. 下面脚本运行后的结果是什么? (★☆☆)
(提示: np.sum)
# Author: Jake VanderPlas # 结果 print(sum(range(5),-1)) 9 from numpy import * print(sum(range(5),-1)) 10 #numpy.sum(a, axis=None)
27. 考虑一个整数向量Z,下列表达合法的是哪个? (★☆☆)
(提示:这里还有“位运算符”)
Z**Z True 2 << Z >> 2 False Z <- Z True 1j*Z True #复数 Z/1/1 True Z<Z>Z False