第一篇:数组创建
第二篇:数组操作篇
#数组访问、排序、比较
arr = np.array([2.,6.,5.,5.])
print(arr[:3]) #前三个元素
print(arr[2]) #下标为2的元素
arr[0] = 7 #下标为0的元素赋值为5
print(arr) #输出整个数组
np.unique(arr) #返回消除重复的元素
np.sort(arr) #返回排序后的元素(从小到大)
np.argsort(arr) #返回排序后的元素下标(从小到大)
np.random.shuffle(arr) #调整数组元素使随机排列,注意是直接改变了数组,而不是返回副本
np.array_equal(arr,np.array([1,3,2])) #相等,形状和元素是否均相等,列表则使用cmp函数
matrix = np.array([[4.,5,6.],[2,3,6]], float)
matrix[0,2] #访问二维数组维度分割用逗号,而列表用multilist[0][2]
#对数组各维度进行切片操作
matrix[0:1,1:2] #
matrix[1,:] #只有:表本维度所有
matrix[:,2]
matrix[-1:, -2:] #-2表从本维度倒数第二个元素开始往后数
#flatten函数可将多维数组变为一维
matrix.flatten() #按行拼接成一维
matrix.shape #返回数组形状
matrix.dtype #返回数组元素类型
#数组元素数据类型转换
int_matrix = matrix.astype(np.int32) #将数组元素转换为int32
#返回数组第一维的长度:
len(matrix)
matrix.shape[0]
#关键字in,判断数组中是否包含某个元素
print(2 in arr) #输出True or False
#reshape函数可调整数组维度
arr = np.array(range(8), float)
arr = arr.reshape((4,2)) #一维数组变为4x2
#数组转置
arr.transpose()
arr.T #两者效果一样,都返回转置后的副本
#增加维度,用newaxis
arr = np.random.rand(3)
arr[:,np.newaxis] #返回副本,维度3x1
arr[np.newaxis, :] #返回副本,维度1x3
#数组连接操作
arr1= np.array([[11,12],[32,42]], float)
arr2= np.array([[54,26],[27,28]], float)
arr = np.concatenate((arr1, arr2)) #默认按第一维度连接
arr = np.concatenate((arr1, arr2), axis=0)
arr = np.concatenate((arr1, arr2), axis=1) #按第二维度进行连接
#数组和字符串转换
arr = np.array([10,20,30], float)
str = arr.tostring()
#三、数组运算
#四、线性代数运算