• numpy学习笔记


    第一篇:数组创建

    第二篇:数组操作篇

    #数组访问、排序、比较

    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()

    #三、数组运算

    #四、线性代数运算

  • 相关阅读:
    Android深度探索读书笔记 第四章
    Android深度探索读书笔记 第三章
    Android深度探索读书笔记 第二章
    Android深度探索第九章
    Android深度探索第十章
    Android深度探索第八章
    第六章
    第七章
    第五章
    第四章
  • 原文地址:https://www.cnblogs.com/LuffysMan/p/9904942.html
Copyright © 2020-2023  润新知