如何用numpy创建单一矩阵

时间:2012-06-07 16:08:49

标签: python numpy

如何使用numpy创建身份矩阵? 是否有比

更简单的语法
numpy.matrix(numpy.identity(n))

3 个答案:

答案 0 :(得分:13)

这是一个更简单的语法:

np.matlib.identity(n)

这是一个更简单的语法,运行得更快:

In [1]: n = 1000
In [2]: timeit np.matlib.identity(n)
100 loops, best of 3: 8.78 ms per loop
In [3]: timeit np.matlib.eye(n)
1000 loops, best of 3: 695 us per loop

答案 1 :(得分:6)

此外,np.eye可用于创建标识数组(In)。

例如,

>>> np.eye(2, dtype=int)
array([[1, 0],
       [0, 1]])
>>> np.eye(3, k=1)
array([[ 0.,  1.,  0.],
       [ 0.,  0.,  1.],
       [ 0.,  0.,  0.]])

答案 2 :(得分:5)

我认为没有更简单的解决方案。不过,您可以稍微

numpy.matrix(numpy.identity(n), copy=False)

这可以避免不必要地复制数据。