Python 用DELETE和INSERT填充FOR循环的Numpy数组

Python 用DELETE和INSERT填充FOR循环的Numpy数组,python,numpy,insert,Python,Numpy,Insert,到目前为止,我犯的所有“错误”都是我遗漏的小事情,希望这里就是这样。我决定使用NUMPY数组主要是为了调整数组大小。我注意到导入需要一段时间,但它基本上是在做我需要的事情,所以乞丐不能挑肥拣瘦。无论如何,在尝试从数组中“删除”项并通过“插入”将其替换为新数据时,我仍然有一个包含所有零的数组。所以,我不知所措。我知道[archstartred]、[archstartgrn]和[archstartblu]的值是正确的,因为我在生成它们时打印它们。为什么这些值没有填充到数组中?这是我的密码: #Fra

到目前为止,我犯的所有“错误”都是我遗漏的小事情,希望这里就是这样。我决定使用NUMPY数组主要是为了调整数组大小。我注意到导入需要一段时间,但它基本上是在做我需要的事情,所以乞丐不能挑肥拣瘦。无论如何,在尝试从数组中“删除”项并通过“插入”将其替换为新数据时,我仍然有一个包含所有零的数组。所以,我不知所措。我知道[archstartred]、[archstartgrn]和[archstartblu]的值是正确的,因为我在生成它们时打印它们。为什么这些值没有填充到数组中?这是我的密码:

#Frame Creation

from numpy import *
frames=array([0 for i in range (0,workingframes*archnodes*3)])
frames.resize(archnodes*3, workingframes)


#Frame Population

for f in range (0, workingframes):

    if f<=(workingframes/2):

        for x in range (0, archnodes):
            delete(frames,[x+f])
            insert(frames,[x+f],(archstartred[x]))
            print archstartred[x]
            delete(frames,[x+f+workingframes])
            insert(frames,[x+f+workingframes],(archstartgrn[x]))
            print archstartgrn[x]
            delete(frames,[x+f+workingframes*2])
            insert(frames,[x+f+workingframes*2],(archstartblu[x]))
            print archstartblu[x]

        print frames
        raw_input('Press control c')  #stop/troubleshoot program


        for y in range (0, nodesperframe):
            archstartred.pop()
            archstartgrn.pop()
            archstartblu.pop()
            archstartred.insert(0, backred)
            archstartgrn.insert(0, backgrn)
            archstartblu.insert(0, backblu)

        archstartred = [int(value) for value in archstartred]
        archstartgrn = [int(value) for value in archstartgrn]
        archstartblu = [int(value) for value in archstartblu]

    else:
        for y in range (0, nodesperframe):
            archstartred.pop(0)
            archstartgrn.pop(0)
            archstartblu.pop(0)
            archstartred.append(backred)
            archstartgrn.append(backgrn)
            archstartblu.append(backblu)

        archstartred = [int(value) for value in archstartred]
        archstartgrn = [int(value) for value in archstartgrn]
        archstartblu = [int(value) for value in archstartblu]

        for x in range (0, archnodes):
            delete(frames,[x+f])
            insert(frames,[x+f],(archstartred[x]))
            delete(frames,[x+f+workingframes])
            insert(frames,[x+f+workingframes],(archstartgrn[x]))
            delete(frames,[x+f+workingframes*2])
            insert(frames,[x+f+workingframes*2],(archstartblu[x]))
#帧创建
从numpy进口*
帧=数组([0表示范围内的i(0,工作帧*archnodes*3)])
框架。调整大小(archnodes*3,工作框架)
#框架总体
对于范围内的f(0,工作框架):

如果fnumpy函数
insert
delete
返回一份副本,而不是就地执行。将结果分配回
而不是丢弃它。

我想这就是我要做的。那么,我该怎么做呢?嗯。。。这会更改数组的原始属性,我需要保留这些属性以解决数据格式问题。如果您只是尝试分配一行,请使用语法
frames[row_num]=new_row
。根据Numpy示例列表(),我刚刚意识到循环没有正确地生成我的循环的数据,这是删除/添加到阵列的正确方法。如果数组由[archnodes*3*workingframes]设置为1,那么它的效果会更好吗?