python向数组中添加数字_Python在带有numpy数组数据的for循环中添加列表

我正在编写一个程序,该程序将追加从二维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

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循环并手动执行此操作有何不同?如何使我的循环停止导致错误?

解决方法:

您将n视为d.band的元素时将其视为d.band的索引

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-3-x,typeerror,arrays,python,numpy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值