gpt4 book ai didi

Python 在带有 numpy 数组数据的 for 循环中附加一个列表

转载 作者:太空宇宙 更新时间:2023-11-03 15:07:03 28 4
gpt4 key购买 nike

我正在编写一个程序,它将附加一个列表,其中包含从二维 numpy 数组中提取的单个元素。到目前为止,我有:

# For loop to get correlation data of selected (x,y) pixel for all bands
zdata = []
for n in d.bands:
cor_xy = np.array(d.bands[n])
zdata.append(cor_xy[y,x])

每次运行我的程序时,我都会收到以下错误:

Traceback (most recent call last):
File "/home/sdelgadi/scr/plot_pixel_data.py", line 36, in <module>
cor_xy = np.array(d.bands[n])
TypeError: only integer arrays with one element can be converted to an index

当我在不使用循环的情况下从 python 解释器尝试我的方法时,我的方法有效,即

>>> zdata = []
>>> a = np.array(d.bands[0])
>>> zdata.append(a[y,x])
>>> a = np.array(d.bands[1])
>>> zdata.append(a[y,x])
>>> print(zdata)
[0.59056658, 0.58640128]

创建 for 循环和手动执行此操作有何不同,如何让我的循环停止导致错误?

最佳答案

nd.bands 的元素时,您将其视为 d.bands 的索引

zdata = []
for n in d.bands:
cor_xy = np.array(n)
zdata.append(cor_xy[y,x])

你说 a = np.array(d.bands[0]) 有效。第一个 n 应该与 d.bands[0] 完全相同。如果是这样,那么 np.array(n) 就是您所需要的。

关于Python 在带有 numpy 数组数据的 for 循环中附加一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31444158/

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