代码之家  ›  专栏  ›  技术社区  ›  Daniel Zapata

归一化:numpy数组和一个点之间的欧几里得距离

  •  1
  • Daniel Zapata  · 技术社区  · 7 年前

    [16.0000 93.0000]
    [17.0000 116.0000]
    [20.0000 139.0000]
    [25.0000 162.0000]
    [33.0000 184.0000]
    [47.0000 205.0000]
    [66.0000 219.0000] ... until 68
    

    new_origin = [112,135]
    new_X
    for point in X[0][0]:
        new_X.append(point-new_origin)
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Eric Duminil    7 年前

    >>> import numpy as np
    >>> a = np.arange(10).reshape(5,2)
    >>> a
    array([[0, 1],
           [2, 3],
           [4, 5],
           [6, 7],
           [8, 9]])
    >>> a[:,0] = a[:,0] - 112
    >>> a[:,1] = a[:,1] - 135
    >>> a
    array([[-112, -134],
           [-110, -132],
           [-108, -130],
           [-106, -128],
           [-104, -126]])
    

    你可以直接用 np.subtract :

    >>> np.subtract(a, [112, 135])
    array([[-112, -134],
           [-110, -132],
           [-108, -130],
           [-106, -128],
           [-104, -126]])
    

    或者只是:

    >>> a - [112, 135]
    array([[-112, -134],
           [-110, -132],
           [-108, -130],
           [-106, -128],
           [-104, -126]])
    

    注意,使用numpy,几乎不需要手动迭代每个元素。