【问题标题】:How could I append a coordinate value to an array of coordinates?如何将坐标值附加到坐标数组?
【发布时间】:2018-12-19 12:42:50
【问题描述】:

我正在尝试将坐标附加到坐标数组。

但我得到了这个:

 [array([637, 257]), array([[114, 233], [114, 163]])]

代替:

[[637, 257], [114, 233], [114, 163]]

我正在使用 np.append 将单个坐标附加到坐标数组中。 我在这里错过了什么?

import numpy as np 
coord = [(637, 257)]
coordinates = np.genfromtxt('Coordinates.csv', dtype =int, delimiter = ",")
coord.append(coordinates)
print(coord)

【问题讨论】:

    标签: python arrays append coordinates


    【解决方案1】:

    您需要使用coord.extend(coordinates) 而不是append。 Append 只是将整个列表添加为单个元素,而 extend 将新列表连接到旧列表。

    【讨论】:

    • 非常感谢!这是一个有用的提示! :)
    【解决方案2】:

    通过追加,您可以在列表中添加一个 single 元素。但是coordinates 是一个二维数组(每行都是一个坐标的数组,所以是一个 n×2 数组)。

    您可以使用.extend(..)+= 添加可迭代的元素(行):

    import numpy as np 
    coord = [(637, 257)]
    coordinates = np.genfromtxt('Coordinates.csv', dtype =int, delimiter = ",")
    coord += coordinates
    print(coord)

    现在我们得到一个包含三个元素的列表:一个 2-list 和 2 个arrays。如果您还想将坐标转换为列表,我们可以执行mapping:

    import numpy as np 
    coord = [(637, 257)]
    coordinates = np.genfromtxt('Coordinates.csv', dtype =int, delimiter = ",")
    coord += map(list, coordinates)
    print(coord)

    【讨论】:

    • 非常感谢威廉,这对我有帮助!
    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 2020-08-09
    • 2019-02-19
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 2013-10-20
    • 1970-01-01
    相关资源
    最近更新 更多