在for循环中创建numpy数组

时间:2014-12-13 02:45:34

标签: python arrays numpy

我希望能够根据可能发生变化的数字创建numpy数组 例如,假设我有50个包含2x2数字的文本文件

我想将这50个文件作为numpy数组加载,稍后在代码中使用它们。代码示例可能如下所示:

import load numpy as np
num = 50  #this could change based on different conditions

for i in arange(num):
    data%d % i = np.loadtxt("datafromafile%d.txt" % i)

这样的事情可能吗? 感谢

2 个答案:

答案 0 :(得分:3)

您可以将它们存储在列表中:

data = list()
for i in arange(num):
    data.append(np.loadtxt("datafromafile%d.txt" % i))

然后您可以使用以下命令访问每个数组:

>>> data[0] + data[1] # sum of the first and second numpy array

答案 1 :(得分:1)

作为oneliner,它将是:

NUM = 50
data = [np.loadtxt("datafromafile%d.txt" % value) for value in np.arange(NUM)]

FILES = ['file1', 'file2', 'file3']
data = {key: np.loadtxt(key) for key in FILES}

作为dict,文件名为key。