16 array内中元素的列交换
例如:
输入array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
输出 array([[1, 0, 2],
[4, 3, 5],
[7, 6, 8]])
arr = np.arange(9).reshape(3,3)
arr[:, [1,0,2]]
输出
array([[1, 0, 2],
[4, 3, 5],
[7, 6, 8]])
arr[:, [1,0,2]] , :代表了选取所有的行,后面的[1,0,2]就是调整列的顺序
17 array内中元素的行交换
例如:
输入array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
输出array([[3, 4, 5],
[0, 1, 2],
[6, 7, 8]])
arr = np.arange(9).reshape(3,3)
arr[[1,0,2], :]
输出
array([[3, 4, 5],
[0, 1, 2],
[6, 7, 8]])
arr[[1,0,2], :], :代表了选取所有的列,前面的[1,0,2]就是调整行的顺序
综上两道题,一定要搞清楚array的坐标顺序,如下图:
array的坐标顺序
18 翻转array中的行
例如:
输入array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
输出array([[6, 7, 8],
[3, 4, 5],
[0, 1, 2]])
arr = np.arange(9).reshape(3,3)
arr[::-1]
输出
array([[6, 7, 8],
[3, 4, 5],
[0, 1, 2]])
19 翻转array中的列
例如:
输入array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
输出array([[2, 1, 0],
[5, 4, 3],
[8, 7, 6]])
arr = np.arange(9).reshape(3,3)
arr[:, ::-1]
输出
array([[2, 1, 0],
[5, 4, 3],
[8, 7, 6]])
20 create一个由浮点数组成的5x3的array,每个元素的范围为5~10
例如:
输出
array([[7.36449457, 7.88639647, 5.94125761],
[5.09012437, 8.80551213, 8.52312685],
[5.02215274, 8.67374118, 8.47783551],
[8.0159014 , 6.97627367, 8.01559088],
[5.06113516, 6.78233419, 7.29608376]])
rand_arr = np.random.randint(low=5, high=10, size=(5,3)) + np.random.random((5,3))
输出
array([[7.36449457, 7.88639647, 5.94125761],
[5.09012437, 8.80551213, 8.52312685],
[5.02215274, 8.67374118, 8.47783551],
[8.0159014 , 6.97627367, 8.01559088],
[5.06113516, 6.78233419, 7.29608376]])
np.random.randint(low=5, high=10, size=(5,3))会创建一个5x3,元素取值范围为5~10的int形array
np.random.random((5,3))会创建一个5x3,元素取值范围为0.0~1.0的float形array
两者相加行了!
网友评论