我正在尝试将坐标附加到坐标数组。
但是我得到了:
[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)
答案 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)