如何自动创建numpy数组?

2024-04-26 12:44:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我想通过for循环创建数组来自动分配数组名。你知道吗

但是使用for循环,创建字典时numpy.数组()在其中,也不起作用。目前,我没有更多的想法。。。 我在处理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() missing required argument 'object' (pos 1) ...


Tags: nameinimportnumpyfor字典asnp
2条回答

正如@Mark Meyer在注释中所说,您应该通过将file_name设置为键来使用dictionary(dict在Python中)。你知道吗

根据您的错误,当您创建numpy数组时,您应该提供一个iterable(例如a 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])}

如果您真的想使用字符串作为命名变量,那么可以使用globals()来完成。你知道吗

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

示例:

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

当然,这会填充全局命名空间。否则,可以使用locals()。你知道吗

相关问题 更多 >