import numpy as np
arr=np.empty((8,4))
for i in range(8):
arr[i]=i
print('花式索引(Fancy indexing)是一个NumPy术语,它指的是利用整数数组进行索引。假设我们有一个8×4数组:\n',arr)
print('为了以特定顺序选取行子集,只需传入一个用于指定顺序的整数列表或ndarray即可:\n',arr[[4,3,0,6]])
print('使用负数索引将会从末尾开始选取行:\n',arr[[-7,-3,-2,-5]])
arr=np.arange(40).reshape((8,5))
print('一次传入多个索引数组会有一点特别。它返回的是一个一维数组,其中的元素对应各个索引元组:\n',arr)
print('\n',arr[[1,7,5,6],[0,2,1,3]])
print("这个花式索引的行为可能会跟某些用户的预期不一样(包括我在内),选取矩阵的行列子集应该是矩形区域的形式才对。下面是得到该结果的一个办法:\n",arr[[1,7,5,6]][:,[0,2,1,3]])
arr=np.arange(15).reshape((3,5))
print('数组不仅有transpose方法,还有一个特殊的T属性:\n',arr)
print('\n',arr.T)
arr=np.random.randn(6,3)
print('比如利用np.dot计算矩阵内积:\n',arr)
print(arr.dot(arr.T))
arr=np.arange(16).reshape((2,2,4))
print('对于高维数组,transpose需要得到一个由轴编号组成的元组才能对这些轴进行转置(比较费脑子):\n',arr)
print(arr.transpose(1,0,2))
arr=np.arange(10)
print('通用函数:快速的元素级数组函数\n',arr)
print(np.sqrt(arr))
print(np.exp(arr))
numpy基础
最新推荐文章于 2024-09-24 20:41:33 发布