Python/Numpy - 使用变量从二维数组中提取二维子数组
好的,我有一个二维数组,里面有数据,大小是(23025, 1000),叫做'allfiles'。
我需要每次处理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]
这样就能正常工作。所以,我的问题是——有没有办法把变量传给数组的索引?如果没有,还有没有更好的方法可以用变量来创建子数组?
我试着在Stack Overflow上找这个问题,但没有找到解决办法,不过我相信我不是第一个遇到这个问题的人。
谢谢大家,
摩根
1 个回答
2
你在循环中得到了 i
,但是没有用到它。
q = 50
for start in xrange(0, allfiles.shape[1], q):
data = allfiles[:,start:start+q]
...