如何自动创建numpy数组?

时间:2019-06-25 13:55:46

标签: python arrays numpy

我想通过for循环创建数组以自动分配数组名称。

但是使用for循环,它不起作用,并且创建包含numpy.array()的字典也不起作用。目前,我没有更多的想法... 我用python处理不是很安全。

   import numpy as np

   for file_name in folder:
       file_name = np.array()
       file_name.extend((blabla, blabla1))

我希望获得具有自动分配名称的数组,例如file_name1file_name2,... 但是我得到了建议,“上面已声明file_name,没有使用”,并且输出在行file_name = np.array()

  

TypeError:array()缺少必需的参数“对象”(位置1)...

2 个答案:

答案 0 :(得分:0)

如果您确实想将字符串用作命名变量,则可以使用globals()进行操作。

globals()[filename] = np.array()

示例:

>>> globals()['test'] = 1
>>> test
1

当然,这会填充全局名称空间。否则,您可以使用locals()

答案 1 :(得分:0)

正如@Mark Meyer在评论中所说,您应该通过将file_name设置为键来使用字典(在Python中为iterable)。

根据您的错误,在创建一个numpy数组时,应提供一个list(例如>>> folder = ['file1', 'file2'] >>> blabla = 0 >>> blabla1 = 1 >>> {f: np.array((blabla, blabla1)) for f in folder} {'file1': array([0, 1]), 'file2': array([0, 1])} )。

例如:

P