zoukankan      html  css  js  c++  java
  • numpy-np.ceil,np.floor,np.expand_dims方法

    np.ceil(多维数组):对多维数组的各个数向上取整

    np.floor(多维数组):对多维数组的各个数向下取整

    np.expand_dims(x,axis = 0):在x的第一维度上插入一个维度,axis=1,在x的第二个维度上插入一个维度

    例如:

    x = np.array([[1,2,3],[4,5,6]])
    print (x)
    print (x.shape)

    结果:

    [[1 2 3]
    [4 5 6]]
    (2, 3)

    axis = 0:

    y = np.expand_dims(x,axis=0)
    print (y)
    print ("y.shape: ",y.shape)
    print ("y[0][1]: ",y[0][1])

    [[[1 2 3]
    [4 5 6]]]
    y.shape: (1, 2, 3)
    y[0][1]: [4 5 6]

    axis = 1:

    y = np.expand_dims(x,axis=1)
    print (y)
    print( "y.shape: ",y.shape)
    print ("y[1][0]: ",y[1][0])

    结果:

    [[[1 2 3]]

    [[4 5 6]]]
    y.shape: (2, 1, 3)
    y[1][0]: [4 5 6]

    np.concatenate()

    np.concatenate((np.arange(6), np.arange(5, -1, step=-1)))

    结果:

    [0 1 2 3 4 5 5 4 3 2 1 0]

    np.squeeze()函数可以删除数组形状中的单维度条目,即把shape中为1的维度去掉,但是对非单维的维度不起作用。

    np.mod():x1 % x2,结果符号和x2的符号相同,x1,x2均为正数时,结果为其余数,有一个为负数时,结果为相除后的向下取整+x2的符号

    print(np.mod(-5,3)) 
    print(np.mod(5,2))
    print(np.mod(5, 1))
    print(np.mod(5, -3))
    结果:

    1
    1
    0
    -1

    np.any(weights, axis=0):axis = 0,表示列,某一列有一个为真即为真,axis=1:表示行,有一个为真即为真

    np.nonzero():返回非零元素的位置

    #a是2维数组
    a = np.array([[0,0,3],[0,0,0],[0,0,9]])
    b = np.nonzero(a)
    print(np.array(b).ndim)
    print(b)
    print(np.transpose(np.nonzero(a)))
    结果:
    2
    (array([0, 2], dtype=int64), array([2, 2], dtype=int64))
    [[0 2]
    [2 2]]

     
  • 相关阅读:
    [洛谷P3369] 普通平衡树 Treap & Splay
    [NOIp2016] 组合数问题
    [洛谷P4777] [模板] 扩展中国剩余定理
    [洛谷P3384] [模板] 树链剖分
    [NOIp2017] 时间复杂度
    [bzoj3270] 博物馆
    [USACO06DEC] Milk Patterns
    [USACO5.1] Musical Themes
    后缀数组 模板+详解
    [HNOI2004] L语言
  • 原文地址:https://www.cnblogs.com/shuangcao/p/12060428.html
Copyright © 2011-2022 走看看