发布于2019-08-22 16:50 阅读(4489) 评论(0) 点赞(17) 收藏(5)
函数 | 描述 |
---|---|
transpose | 对换数组的维度 |
ndarray.T | 转置 |
rollaxis | 向后滚动指定的轴 |
swapaxes | 对换数组的两个轴 |
import numpy as np
arr0 = np.arange(12).reshape(3, 4)
arr2 = np.transpose(arr0)
arr3 = arr0.T
print('arr0 原数组:\n', arr0,'\n')
print('arr2 维度对换之后:\n', arr2,'\n')
print('arr3 数组转置:\n', arr3,'\n')
'''
arr0 原数组:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
arr2 维度对换之后:(显然与转置效果arr3相同)
[[ 0 4 8]
[ 1 5 9]
[ 2 6 10]
[ 3 7 11]]
arr3 数组转置:
[[ 0 4 8]
[ 1 5 9]
[ 2 6 10]
[ 3 7 11]]
'''
arr1 = np.arange(18).reshape(2,3,3)
arr4_0 = np.rollaxis(arr1,0,2)
arr4_1 = np.rollaxis(arr1,2,1)
print('arr1 原数组:\n', arr1,'\n')
print('arr4_0 向后滚动特定的轴到一个特定位置:\n', arr4_0,'\n')
print('arr4_1 向后滚动特定的轴到一个特定位置:\n', arr4_1,'\n')
arr5_0 = np.swapaxes(arr1, 0, 1)
arr5_1 = np.swapaxes(arr1, 1, 2)
print('arr5_0交换数组的两个轴:\n', arr5_0,'\n')
print('arr5_1交换数组的两个轴:\n', arr5_1,'\n')
'''
arr1 原数组:
[[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]]
[[ 9 10 11]
[12 13 14]
[15 16 17]]]
arr4_0 向后滚动特定的轴到一个特定位置:(与arr5_0 效果相同)
[[[ 0 1 2]
[ 9 10 11]]
[[ 3 4 5]
[12 13 14]]
[[ 6 7 8]
[15 16 17]]]
arr4_1 向后滚动特定的轴到一个特定位置:(与arr5_1 效果相同)
[[[ 0 3 6]
[ 1 4 7]
[ 2 5 8]]
[[ 9 12 15]
[10 13 16]
[11 14 17]]]
arr5_0交换数组的两个轴:
[[[ 0 1 2]
[ 9 10 11]]
[[ 3 4 5]
[12 13 14]]
[[ 6 7 8]
[15 16 17]]]
arr5_1交换数组的两个轴:
[[[ 0 3 6]
[ 1 4 7]
[ 2 5 8]]
[[ 9 12 15]
[10 13 16]
[11 14 17]]]
'''
import numpy as np
def flip180(arr):
new_arr = arr.reshape(arr.size)
new_arr = new_arr[::-1]
new_arr = new_arr.reshape(arr.shape)
return new_arr
def flip90_left(arr):
new_arr = np.transpose(arr)
new_arr = new_arr[::-1]
return new_arr
def flip90_right(arr):
new_arr = arr.reshape(arr.size)
new_arr = new_arr[::-1]
new_arr = new_arr.reshape(arr.shape)
new_arr = np.transpose(new_arr)[::-1]
return new_arr
arr0 = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
flip_180 = flip180(arr0)
left_90 = flip90_left(arr0)
right_90 = flip90_right(arr0)
print('===== flip_180 ====\n',flip_180,'\n')
print('===== left_90 =====\n',left_90,'\n')
print('===== right_90 =====\n',right_90,'\n')
'''
===== flip_180 ====
[[9 8 7]
[6 5 4]
[3 2 1]]
===== left_90 =====
[[3 6 9]
[2 5 8]
[1 4 7]]
===== right_90 =====
[[7 4 1]
[8 5 2]
[9 6 3]]
'''
特别鸣谢:
https://blog.csdn.net/kane7csdn/article/details/83928848
作者:j878
链接:https://www.pythonheidong.com/blog/article/53049/35b46fe8a3b303d03006/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!