import numpy as np
a = np.zeros_like((2, 2, 2))
b = np.mat(a)
print(type(b))
c = b.A
print(type(c))
d = b.A[0]
print(type(d))
首先建立任意一个数组a,将其转化为数组形式b(.A与.A[0]均是数组才有的方法)。分别对b使用.A与.A[0]方法,打印转换后的类型。

会发现使用.A与.A[0]后得到的数据类型一样均为numpy.ndarray类型,因为打印的是是数组的类型,所以当然是一样的numpy.ndarray类型。所以.A与.A[0]均可以将矩阵变成数组形式。
接着往下走,打印各个数组中元素的类型
import numpy as np
a = np.zeros_like((2, 2, 2))
b = np.mat(a)
print(type(b))
c = b.A
print(type(c[0]))
d = b.A[0]
print(type(d[0]))
会得到以下结果

可以看出使用.A方法后,矩阵中元素的类型仍为 numpy.ndarray,但是使用.A[0]方法后得到矩阵中的元素类型就变成了numpy.int32了。
本文探讨了如何将numpy数组转换为矩阵并比较.A和.A[0]方法的效果,发现.A保持元素类型为ndarray,而.A[0]导致矩阵元素变为int32。这展示了在处理numpy矩阵时的不同行为。
254

被折叠的 条评论
为什么被折叠?



