gpt4 book ai didi

python - 附加到嵌套 NumPy 数组

转载 作者:行者123 更新时间:2023-12-01 06:39:06 25 4
gpt4 key购买 nike

我有一个 NumPy 数组列表:

self.xy_lat_lon_list = [array([3986139.12431615, 3889959.08475953]),
array([3987252.31922408, 3889959.08475953]),
array([3988365.51413201, 3889959.08475953]),
array([3989478.70903994, 3889959.08475953]),
array([3990591.90394788, 3889959.08475953]),
array([3991705.09885581, 3889959.08475953]),
array([3992818.29376374, 3889959.08475953]),....]

我需要向每个数组附加一个整数(相同的数组)例如:

uav_elev = 1900

输出:

self.xy_lat_lon_list = [array([3986139.12431615, 3889959.08475953,1900]),
array([3987252.31922408, 3889959.08475953,1900]),
array([3988365.51413201, 3889959.08475953,1900]),
array([3989478.70903994, 3889959.08475953,1900]),
array([3990591.90394788, 3889959.08475953,1900]),
array([3991705.09885581, 3889959.08475953,1900]),
array([3992818.29376374, 3889959.08475953,1900]),....]

我尝试使用列表理解,但迷失了方向。

在常规 for 循环中:

for l in self.xy_lat_lon_list:
l. # I thought that I will get append or insert here but It's not.

最佳答案

列出你的 list :

In [107]: alist = [np.array([3986139.12431615, 3889959.08475953]), 
...: np.array([3987252.31922408, 3889959.08475953])
...: ,
...: np.array([3988365.51413201, 3889959.08475953])
...: ,
...: np.array([3989478.70903994, 3889959.08475953])
...: ]
...:
In [108]: alist
Out[108]:
[array([3986139.12431615, 3889959.08475953]),
array([3987252.31922408, 3889959.08475953]),
array([3988365.51413201, 3889959.08475953]),
array([3989478.70903994, 3889959.08475953])]

将值单独添加到每个数组:

In [109]: [np.concatenate((arr, [1900]),axis=0) for arr in alist]               
Out[109]:
[array([3.98613912e+06, 3.88995908e+06, 1.90000000e+03]),
array([3.98725232e+06, 3.88995908e+06, 1.90000000e+03]),
array([3.98836551e+06, 3.88995908e+06, 1.90000000e+03]),
array([3.98947871e+06, 3.88995908e+06, 1.90000000e+03])]

np.append 也可以在这里工作。它只是调用concatenate的另一种方式。

或者您可以将数组连接成一个二维数组(只要它们大小相同):

In [110]: arr = np.vstack(alist)                                                
In [111]: arr
Out[111]:
array([[3986139.12431615, 3889959.08475953],
[3987252.31922408, 3889959.08475953],
[3988365.51413201, 3889959.08475953],
[3989478.70903994, 3889959.08475953]])

并连接一列垂直的值:

In [112]: np.concatenate((arr, np.ones((4,1))*1900), axis=1)                    
Out[112]:
array([[3.98613912e+06, 3.88995908e+06, 1.90000000e+03],
[3.98725232e+06, 3.88995908e+06, 1.90000000e+03],
[3.98836551e+06, 3.88995908e+06, 1.90000000e+03],
[3.98947871e+06, 3.88995908e+06, 1.90000000e+03]])

关于python - 附加到嵌套 NumPy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59536352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com