Home > Backend Development > Python Tutorial > Axes and dimensions in numpy

Axes and dimensions in numpy

不言
Release: 2018-04-18 11:01:28
Original
4396 people have browsed it

The following article will share with you an understanding of the central axis and dimensions of numpy. It has a good reference value and I hope it will be helpful to everyone. Let's take a look together

NumPy's main object is the homogeneous multidimensional array. It is a table of elements (usually numbers), all of the same type, indexed by a tuple of positive integers. In NumPy dimensions are called axes. The number of axes is rank.

For example, the coordinates of a point in 3D space [1, 2, 1] is an array of rank 1, because it has one axis. That axis has a length of 3. In the example pictured below, the array has rank 2 (it is 2-dimensional). The first dimension (axis) has a length of 2, the second dimension has a length of 3.

[[ 1., 0., 0.],
 [ 0., 1., 2.]]
Copy after login

ndarray.ndim

The number of array axes, inpython## In the world of #, the number of axes is called rank

>> X = np.reshape(np.arange(24), (2, 3, 4))
  # 也即 2 行 3 列的 4 个平面(plane)
>> X
array([[[ 0, 1, 2, 3],
    [ 4, 5, 6, 7],
    [ 8, 9, 10, 11]],
    [[12, 13, 14, 15],
    [16, 17, 18, 19],
    [20, 21, 22, 23]]])
Copy after login

shape function is a function in numpy.core.fromnumeric, its function It is the length of the read matrix. For example, shape[0] is the length of the first dimension of the read matrix.

shape(x)

(2,3,4)

shape(x )[0]

2

or

x.shape[0]

2

Let’s look at the composition of each plane separately:

>> X[:, :, 0]
array([[ 0, 4, 8],
    [12, 16, 20]])
>> X[:, :, 1]
array([[ 1, 5, 9],
    [13, 17, 21]])
>> X[:, :, 2]
array([[ 2, 6, 10],
    [14, 18, 22]])
>> X[:, :, 3]
array([[ 3, 7, 11],
    [15, 19, 23]])
Copy after login

That is, in np .arange(24)(0, 1, 2, 3, ..., 23) When rearranging, in the directions of multiple axes of a multi-dimensional array, the last axis is allocated first (for a two-dimensional array, that is, first Allocate the direction of the row. For a three-dimensional array, allocate the direction of the plane first)

reshpae is a method in the array object, used to change the shape of the array.

Two-dimensional array

#!/usr/bin/env python 
# coding=utf-8 
import numpy as np 
 
a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) 
print a 
d=a.reshape((2,4)) 
print d
Copy after login

Three-dimensional array

#!/usr/bin/env python 
# coding=utf-8 
import numpy as np 
 
a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) 
print a 
f=a.reshape((2, 2, 2)) 
print f
Copy after login

##The principle of shape change is that the array elements cannot change, for example, it is written like this Wrong because the array elements have changed.

#!/usr/bin/env python 
# coding=utf-8 
import numpy as np 
 
a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) 
print a 
print a.dtype 
e=a.reshape((2,2)) 
print e
Copy after login

Note: The new array generated by reshape and the original array share the same memory, that is to say, if one is changed elements of the array, the other array will also be changed.

#!/usr/bin/env python 
# coding=utf-8 
import numpy as np 
 
a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) 
print a 
e=a.reshape((2, 4)) 
print e 
a[1]=100 
print a 
print e
Copy after login

The meaning of reshape function parameter -1 in Python

a=np.arange(0, 60, 10)
>>>a
array([0,10,20,30,40,50])
>>>a.reshape(-1,1)
array([[0],
[10],
[20],
[30],
[40],
[50]])
Copy after login

If written as a.reshape(1,1), an error will be reported##ValueError:cannot reshape array of size 6 into shape (1,1)

>>> a = np.array([[1,2,3], [4,5,6]])
>>> np.reshape(a, (3,-1)) # the unspecified value is inferred to be 2
array([[1, 2],
    [3, 4],
    [5, 6]])
Copy after login

-1 means I am too lazy to calculate what number to fill in, by python through a and others The value 3 is inferred.

# 下面是两张2*3大小的照片(不知道有几张照片用-1代替),如何把所有二维照片给摊平成一维
>>> image = np.array([[[1,2,3], [4,5,6]], [[1,1,1], [1,1,1]]])
>>> image.shape
(2, 2, 3)
>>> image.reshape((-1, 6))
array([[1, 2, 3, 4, 5, 6],
    [1, 1, 1, 1, 1, 1]])
Copy after login

Related recommendations:


The difference between array and asarray in numpy



The above is the detailed content of Axes and dimensions in numpy. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template