我将.CSV中的数据提取到数组中,如下所示:
my_data = genfromtxt('nice.csv', delimiter='')
a = np.array(my_data)
然后我尝试建立数组的大小和形状,因此:
size_array=np.size(a)
shape_array=np.shape(a)
现在,我想生成一个形状和大小相同的数组,然后执行一些乘法运算。我遇到的麻烦是生成正确大小的数组。我试过这个:
D = np.empty([shape_array,])
我收到错误:
“tuple”对象不能被解释为索引“。
经过调查,我的数组的形状为(248L,)
。请...如何以合理的格式获得此阵列?
感谢。
答案 0 :(得分:2)
第shape_array=np.shape(a)
行创建了一个tuple
形状,这是np.empty
的预期输入。
表达式[shape_array,]
是tuple
,包含在list
中,这似乎是多余的。直接使用shape_array
:
d = np.empty(shape_array)
在相关的说明中,您可以使用函数np.empty_like
更有效地获得与原始数据相同的形状和类型的数组:
d = np.empty_like(a)
如果您只想使用形状和大小,则在调用np.size
和np.shape
后,实际上无需将它们存储在单独的变量中。直接使用np.ndarray
的相应属性更为惯用:
d = np.empty(a.shape)