Python/Numpy-使用变量从二维数组中提取二维子数组

Python/Numpy-使用变量从二维数组中提取二维子数组,python,variables,numpy,arrays,Python,Variables,Numpy,Arrays,好的,我有一个二维数据数组,它的形状是(230251000),它被称为“所有文件” 我需要一次遍历50列数组,并将它们提取到一个子数组中进行操作。问题是,当我使用下面的代码处理数组时,它似乎无法识别变量(a和b)。我目前拥有的代码如下所示 q = 50 a = np.shape(allfiles)[1] # a = 1000 for i in range(a): b = a + q data = allfiles[:,a:b] 当我用数字

好的,我有一个二维数据数组,它的形状是(230251000),它被称为“所有文件”

我需要一次遍历50列数组,并将它们提取到一个子数组中进行操作。问题是,当我使用下面的代码处理数组时,它似乎无法识别变量(a和b)。我目前拥有的代码如下所示

    q = 50
    a = np.shape(allfiles)[1] # a = 1000
    for i in range(a):
        b = a + q
        data = allfiles[:,a:b]
当我用数字替换变量时,即

    data = allfiles[:,30:80]
它似乎起作用了。所以,我的问题是-有没有一种方法可以将变量传递给数组索引?如果没有,有没有更好的方法可以使用变量创建子数组

我试图在堆栈溢出上找到这个问题,但运气不好,但我肯定我不是第一个遇到这个问题的人

干杯,伙计们,
Morgan

您正在从循环中获得
i
,但不要使用它

q = 50

for start in xrange(0, allfiles.shape[1], q):
    data = allfiles[:,start:start+q]
    ...

干杯,这为我解决了一切。