python中Numpy的简单用法及代码示例

@Numpy nd array
科学计算库Numpy nd array结构,示例代码

#打印当前Numpy版本
    print(np.__version__)

    #构造一个全零的矩阵,并打印其占用的内存大小
    arrayZero = np.zeros((5,5))
    print(np.shape(arrayZero))#打印数组中额行列
    print('%d bytes'%(arrayZero.size *arrayZero.itemsize))

    #打印一个函数的帮助文档,比如numpy.add
    print(help(np.info(np.add)))

    #创建一个10-49的数组,并将其倒序排序
    arrayOne = np.arange(10,50,1)
    print(arrayOne)
    arrayOneRes = arrayOne[::-1]
    print(arrayOneRes)

    #找到一个数组中不为0的索引
    print(np.nonzero([1,2,3,4,0,0,0,5,6,7]))

    #随机构造一个3*3矩阵,并打印其中最大与最小值
    arrayRandoms = np.random.random((3,3))
    print(arrayRandoms)
    print(np.max(arrayRandoms))
    print(arrayRandoms.max())

    print(np.min(arrayRandoms))
    print(arrayRandoms.min())

    #构造一个5*5的矩阵,令其值都为1,并在最外层加上一圈0
    arrayTwo = np.ones((5,5))
    print(arrayTwo)

    arrayTwo = np.pad(arrayTwo,pad_width=1,mode='constant',constant_values=0)
    print(arrayTwo)

    #构建一个shape为(6,7,8)的矩阵,并找到第100个元素的索引值
    print(np.unravel_index(100,(6,7,8)))
    #对一个5*5的矩阵做归一化操作
    arrayThree = np.random.random((5,5))
    arrayThreeMin = arrayThree.min()
    arrayThreeMax = arrayThree.max()
    arrayThree = (arrayThree - arrayThreeMin)/(arrayThreeMax - arrayThreeMin)
    print(arrayThree)
    #找到两个数组中相同的值
    z1 = np.random.randint(0,10,10)
    z2 = np.random.randint(0,10,10)
    print(z1)
    print(z2)
    print(np.intersect1d(z1,z2))
    #得到今天 明天 昨天的日期
    yesterday =  np.datetime64('today','D') - np.timedelta64(1,'D')
    today = np.datetime64('today','D')
    tommorow = np.datetime64('today','D')+np.timedelta64(1,'D')
    print(yesterday)
    print(today)
    print(tommorow)

    #得到一个月中所有的天
    print(np.arange('2025-04','2025-05',dtype = 'datetime64[D]'))
    #得到一个数的整数部分
    arrayFour = np.random.uniform(0,10,10)
    print(arrayFour)
    print(np.floor(arrayFour))
    #构造一个数组,让它不能被改变
    arrayFive = np.zeros(5)
    arrayFive.flags.writeable = False
    #arrayFive[0] = 1
    print(arrayFive)
    #打印大数据的部分值,全部值
    np.set_printoptions(threshold =5)
    arraySix = np.zeros((15,15))
    print(arraySix)
    #找到在一个数组中,最接近一个数的索引
    arraySeven = np.arange(100)
    v = np.random.uniform(0,100)
    print(v)
    index = (np.abs(arraySeven - v)).argmin()
    print(arraySeven[index])
    #32位float类型和32位int类型转换
    arrayEight = np.arange(10,dtype = np.int32)
    print(arrayEight.dtype)
    arrayEightRes = arrayEight.astype(np.float32)
    print(arrayEightRes.dtype)
    #打印数组元素位置坐标与数值
    arratNine = np.arange(9).reshape(3,3)
    for index,value in np.ndenumerate(arratNine):
        print(index,value)
    #按照数组的某一列进行排序
    arrayTen = np.random.randint(0,10,(3,3))
    print(arrayTen)
    print(arrayTen[arrayTen[:,:].argsort()])
    #统计数组中每个数值出现的次数
    arrayA = np.array([1,1,1,2,2,3,3,4,5,8])
    print(np.bincount(arrayA))
    #如何对一个四维数组的最后两维来求和
    arrayB = np.random.randint(0,10,(4,4,4,4))
    print(arrayB)
    res = arrayB.sum(axis=(-2,-1))
    print(res)

    #交换矩阵中的两行
    arrayC = np.arange(25).reshape(5,5)
    print(arrayC)
    arrayC[[0,1]] = arrayC[[1,0]]
    print(arrayC)

    #找到一个数组中最常出现的数字
    arrayD = np.random.randint(0,10,50)
    print(arrayD)
    print(np.bincount(arrayD).argmax())
    #快速查找TOP K
    arrayE = np.arange(10000)
    np.random.shuffle(arrayE)
    n = 5
    print(arrayE[np.argpartition(-arrayE,n)[:n]])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值