如何将坐标值附加到坐标数组?

时间:2018-07-11 12:57:44

标签: python arrays append coordinates

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

但是我得到了:

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

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

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

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

现在,我们得到一个包含三个元素的列表:一个2个列表和2个array。如果您也想将坐标转换为列表,我们可以执行map ping:

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