我如何创建2x2数组与NumPy



我想要2x2数组,我想添加元素。我用numpy。我做错了什么?例如:

for i in range(len(pin)):
    for k in range(len(pin)):
        sumv = 0
        for j in range(len(pin[i])):
            sumv = sumv + ...
            c = np.data(sumv).reshape(len(pin),len(pin))
print c
输出:

AttributeError: 'module' object没有属性'data'

我该写什么?

https://docs.scipy.org/doc/numpy-dev/user/quickstart.html

ndarray.data

包含数组实际元素的缓冲区。通常,我们不需要使用这个属性,因为我们将使用索引工具访问数组中的元素。

您的quickstart描述了ndarray对象(即数组)的属性。但是npnumpy模块。a=np.array(....)创建ndarray对象。它的.shape.dtype是重要的属性。.data是你应该知道的东西,但很少直接引用。

使用numpy最好的方法是创建一个数组:

In [592]: a = np.array([[1,2],[3,4]])
In [593]: a
Out[593]: 
array([[1, 2],
       [3, 4]])

,可以像这样操作

In [594]: a[1,:]
Out[594]: array([3, 4])
In [595]: a[0,1]
Out[595]: 2
In [596]: np.concatenate((a,a), axis=0)
Out[596]: 
array([[1, 2],
       [3, 4],
       [1, 2],
       [3, 4]])
In [597]: np.concatenate((a,a), axis=1)
Out[597]: 
array([[1, 2, 1, 2],
       [3, 4, 3, 4]])

或者如果你想迭代创建一个数组,从lists

开始
In [598]: alist = []
In [599]: for i in range(2):
     ...:     sublist = []
     ...:     for j in range(2):
     ...:         sublist.append(i+j)
     ...:     alist.append(sublist)     
In [600]: alist
Out[600]: [[0, 1], [1, 2]]
In [601]: a=np.array(alist)
In [602]: a
Out[602]: 
array([[0, 1],
       [1, 2]])

相关内容

  • 没有找到相关文章

最新更新