import numpy as np
# 多维数组的索引与切片
arr2 = np.arange(8).reshape(2,4) # 将数组转换成2行4列
print('原先的2行4列的元素',arr2)
print(arr2[1,2:3]) # 返回第二行,第三列的值
print(arr2[:,2]) # 返回第三列的值
print(arr2[1][2:3]) # 返回第二行,第三列的值
LIST1 = [[0,1,2],[3,4,5]]
print('二维列表的索引取值操作',[i[2] for i in LIST1]) # [2, 5];取的是第三列
# 如果只提供一个索引,那么将得到一个包含该行的维数少的数组
print(arr2[:,0])
print(arr2[1])
# 多维数组的属性
arr = arr2
# 下面输出的四个分别是Data type ; Total number of elements;Number of dimensions;Shape(dimensionality);Memory used(in bytes)
print(arr.dtype,arr.size,arr.ndim,arr.shape,arr.nbytes)
# 数组一些特别的用法max,min;sym,peod;mean,std
print(arr2.min(),arr2.max()) # 最大值,最小值
print("sum and product of all elements",arr2.sum(),arr2.prod()) # 所有元素的总和和乘积
print('mean and standard deviation',arr2.mean(),arr2.std()) # 均值和标准差
# .T属性,数组转置
print('Transpose:
',arr2.T)