python⽣成⼀个数组_在for循环中创建多个数组(Python)我⽬前遇到Numpy阵列的问题。如果在其他地⽅已经提出这个问题,我道歉,但我觉得我到处都是。
我最初的问题是我试图创建⼀个数组并⽤多组不同⼤⼩的站数据填充它。由于我⽆法使⽤⼤⼩不同的数据集填充相同的数组,因此我决定通过在for循环中定义数组来为每个⼯作站数据集创建⼀个新数组,⽤于迭代每个⼯作站数据集。这样做的问题是,在循环时,每个数据集都会覆盖以前的数据集,只返回for循环的最终实例。
然后,我尝试使⽤+然后连接操作来连接每个数组的新标题,但结果证明这在定义数组时是⾮法的。这是程序的实例,其中每个数据数组都会覆盖前⼀个数据。请注意,并⾮所有代码都包含在内,⽽且这是定义的⼀部分。
for k in range(len(stat_id)):
## NOTE - more code precedes this final portion of the for loop, but was
## not included as it is unrelated to the issue at hand.
# Bring all the data into one big array.
metar_dat = np.zeros((len(stat_id),len(temp),7), dtype='object')
for i in range(len(temp)):
metar_dat[k,i] = np.dstack((stat_id[k], yr[i], month[i], day[i], time[i], temp[i], dwp[i]))
#print np.shape(metar_dat[k])
#print metar_dat[k]
#print np.shape(metar_dat) # Confirm success with shape read.
return metar_dat
从这个定义运⾏并打印数组后,我得到了这个(两个空数组和⼀个最终填充数组):
[[[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
...,
[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]]
[[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
...,
[0 0 0 ..., 0 0 0]
python 定义数组[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]]
[[\TZR 2015 7 ..., 2342 58 48]
[\TZR 2015 7 ..., 2300 59 47]
[\TZR 2015 7 ..., 2200 60 48]
...,
[\TZR 2015 7 ..., 0042 56 56]
[\TZR 2015 7 ..., 0022 56 56]
[\TZR 2015 7 ..., 0000 56 56]]]
我的问题是:
如何为每组站数据创建⼀个数组,以便我不会覆盖任何以前的数据?
或
如何创建包含具有不同⾏数的数据集的单个数组?
我还是Python的新⼿(也是我在这⾥发布的新⼿),我们⾮常感谢任何想法。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论