It seesms like we can have n dimensional array by numpy.array also numpy.matrix is exact matrix I want.
which one is generally used?
Objects of type numpy.array
are n-dimensional, meaning they can represent 2-dimensional matrices, as well as 3D, 4D, 5D, etc.
The numpy.matrix
, however, is designed specifically for the purpose of 2-dimensional matrices. As part of this specialisation, some of the operators are modified, for example *
refers to matrix multiplication.
Use whichever is most sensible for your work, but make sure you remain consistent. If you'll occasionally have to deal with higher-dimensional data then it makes sense to use numpy.array
all the time (you can still do matrix multiplication with 2D numpy.array
, but you have to use a method as opposed to the *
operator).