numpy必知必会-第四天

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
两者相加行了!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容