在python
中将array类型的矩阵逆时针旋转90°,即:
代码为:
import numpy as np
def rotate(array):
temp = np.zeros_like(array.transpose())
for j in range(len(array)):
for i in range(len(array[0])):
temp[i][j] = array[j][len(array[0])-i-1]
return temp
if __name__ =='__main__':
a = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])
b = rotate(a)
print(a,b)
PS:
-
numpy
中array
一旦定义,其类型即为确定的int32
或者float64
。定义后无法通过赋值改变类型,如
a = numpy.array([1,2,3])
print(a)
a[0] = 2.5
print(a)
可能我们会认为第二个输出为[2.5,2,3]
,但输出其实是[2,2,3]
,这是因为一开始a
的数据类型就是int32
,使用dtype
可查看array
类型。
这一点需要注意,和我们传统认为的python是弱类型不同
弱类型
- array转换数据类型 float -> int
array.astype(np.int32)
Out[10]: array([1, 2, 3, 4, 5], dtype=int32)
网友评论