为了创建一个新的数组,似乎
numpy.zeros
是正确的方法。
import numpy as np
a = np.zeros(shape=(x, y))
您还可以设置数据类型以合理分配内存。
>>> np.zeros(shape=(5,2), dtype=np.uint8)
array([[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0]], dtype=uint8)
>>> np.zeros(shape=(5,2), dtype="datetime64[ns]")
array([['1970-01-01T00:00:00.000000000', '1970-01-01T00:00:00.000000000'],
['1970-01-01T00:00:00.000000000', '1970-01-01T00:00:00.000000000'],
['1970-01-01T00:00:00.000000000', '1970-01-01T00:00:00.000000000'],
['1970-01-01T00:00:00.000000000', '1970-01-01T00:00:00.000000000'],
['1970-01-01T00:00:00.000000000', '1970-01-01T00:00:00.000000000']],
dtype='datetime64[ns]')
参见
np.shape
或其他什么吗? - ljetibof(a)
和g(b)
到底是做什么的?如果它们产生数字,你的代码应该能正常工作:这是初始化一个二维numpy数组的正确方式(numpy通常足够智能,可以将一个数组的数组转换为ndarray)。 - Marijn van Vlietdata['Name']
是什么样的?最好给我们一些可以插入和运行的示例。np._names
的形状是什么?我在你的代码中没有看到任何生成器,只有列表推导式。 - hpaulj