#coding=utf-8
__author__ = 'andy'
import numpy as np
arr=np.arange(15).reshape((3,5))
print(arr)
#数组转置,不仅有transpose方法,还有一个特殊的T属性
print(arr.T)
#利用np.dot计算矩阵内积
'''比如: 一维数组np.dot([1,2,3],[4,5,6]) = 1*4 + 2*5 + 3*6 = 32
二维数组a=([1, 2],
[3, 4]])
b=[[5, 6],
[7, 8]]
np.dot(a,b)=[[19, 22],
[43, 50]]
即:[[1*5+2*7, 1*6+2*8],
[3*5+4*7, 3*6+4*8]]
'''
arr1=np.random.randn(6,3)
print(arr1)
print(np.dot(arr1.T,arr1))
#对于高纬数组,transpose需要得到一个由轴编号组成的元组才能对这些轴进行转置(比较费脑子)
arr2=np.arange(16).reshape((2,2,4))
print(arr2)
print(arr2.transpose((1,0,2)))