Home Backend Development Python Tutorial Methods to convert matrices into lists and other functions in Python's numpy library_python

Methods to convert matrices into lists and other functions in Python's numpy library_python

Apr 04, 2018 pm 04:27 PM
numpy python Convert

Below I will share with you a method for converting matrices into lists and other functions in Python's numpy library. It has a good reference value and I hope it will be helpful to everyone. Let’s take a look together

This article mainly introduces some functions in Python’s numpy library and makes a backup for easy search.

(1) Function to convert matrix to list: numpy.matrix.tolist()

Return list list

Examples

>>>

1

2

3

4

5

6

>>> x = np.matrix(np.arange(12).reshape((3,4))); x

matrix([[ 0, 1, 2, 3],

  [ 4, 5, 6, 7],

  [ 8, 9, 10, 11]])

>>> x.tolist()

[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]

Copy after login

(2) Convert the array Function to convert to list: numpy.ndarray.tolist()

#Notes: (The array can be reconstructed)

The array may be recreated, a=np. array(a.tolist()).

Examples

>>>

1

2

3

4

5

6

7

8

>>> a = np.array([1, 2])

>>> a.tolist()

[1, 2]

>>> a = np.array([[1, 2], [3, 4]])

>>> list(a)

[array([1, 2]), array([3, 4])]

>>> a.tolist()

[[1, 2], [3, 4]]

Copy after login

(3) numpy.mean() calculates the mean of a matrix or array:

Examples

> ;>>

1

2

3

4

5

6

7

>>> a = np.array([[1, 2], [3, 4]]) #对所有元素求均值

>>> np.mean(a)

2.5

>>> np.mean(a, axis=0) #对每一列求均值

array([ 2., 3.])

>>> np.mean(a, axis=1) #对每一行求均值

array([ 1.5, 3.5])

Copy after login

(4) numpy.std() calculates the standard deviation of a matrix or array:

Examples

##>>>

1

2

3

4

5

6

7

>>> a = np.array([[1, 2], [3, 4]]) #对所有元素求标准差

>>> np.std(a)

1.1180339887498949

>>> np.std(a, axis=0) #对每一列求标准差

array([ 1., 1.])

>>> np.std(a, axis=1) #对每一行求标准差

array([ 0.5, 0.5])

Copy after login

(5) numpy.newaxis adds a dimension to the array:

Examples:

1

2

3

4

5

6

7

8

9

>>> a=np.array([[1,2,3],[4,5,6],[7,8,9]]) #先输入3行2列的数组a

>>> b=a[:,:2]

>>> b.shape #当数组的行与列都大于1时,不需增加维度

(3, 2)

>>> c=a[:,2]

>>> c.shape #可以看到,当数组只有一列时,缺少列的维度

(3,)

>>> c

array([3, 6, 9])

Copy after login

1

2

3

4

5

6

7

8

9

10

11

12

13

14

>>> d=a[:,2,np.newaxis] #np.newaxis实现增加列的维度

>>> d

array([[3],

  [6],

  [9]])

>>> d.shape  #d的维度成了3行1列(3,1)

(3, 1)

>>> e=a[:,2,None] #None与np.newaxis实现相同的功能

>>> e

array([[3],

  [6],

  [9]])

>>> e.shape

(3, 1)

Copy after login

(6) numpy.random.shuffle(index): Disrupt the order of the data set (array):

Examples:

1

2

3

4

5

6

>>> index = [i for i in range(10)]

>>> index

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> np.random.shuffle(index)

>>> index

[7, 9, 3, 0, 4, 1, 5, 2, 8, 6]

Copy after login

(7) Calculate a certain row or a certain number of two-dimensional array Maximum and minimum value of a column:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

>>> import numpy as np

>>> a = np.arange(15).reshape(5,3) #构造一个5行3列的二维数组

>>> a

array([[ 0, 1, 2],

  [ 3, 4, 5],

  [ 6, 7, 8],

  [ 9, 10, 11],

  [12, 13, 14]])

>>> b = a[:,0].min() ##取第0列的最小值,其他列同理

>>> b

0

>>> c = a[0,:].max() ##取第0行的最大值,其他行同理

>>> c

2

Copy after login

(8) Add columns to the array: np.hstack ()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

n = np.array(np.random.randn(4,2))

  

n

Out[153]:

array([[ 0.17234 , -0.01480043],

  [-0.33356669, -1.33565616],

  [-1.11680009, 0.64230761],

  [-0.51233174, -0.10359941]])

  

l = np.array([1,2,3,4])

  

l

Out[155]: array([1, 2, 3, 4])

  

l.shape

Out[156]: (4,)

Copy after login

As you can see, n is two-dimensional and l is one-dimensional. If you call np.hstack( directly ) will give an error: the dimensions are different.

1

2

n = np.hstack((n,l))

ValueError: all the input arrays must have same number of dimensions

Copy after login

The solution is to change l into two-dimensional, you can use the method in (5):

1

2

3

4

5

6

7

8

n = np.hstack((n,l[:,np.newaxis])) ##注意:在使用np.hstack()时必须用()把变量括起来,因为它只接受一个变量

  

n

Out[161]:

array([[ 0.17234 , -0.01480043, 1.  ],

  [-0.33356669, -1.33565616, 2.  ],

  [-1.11680009, 0.64230761, 3.  ],

  [-0.51233174, -0.10359941, 4.  ]])

Copy after login

Let’s talk about how to add values ​​to an empty list by column:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

n = np.array([[1,2,3,4,5,6],[11,22,33,44,55,66],[111,222,333,444,555,666]]) ##产生一个三行六列容易区分的数组

  

n

Out[166]:

array([[ 1, 2, 3, 4, 5, 6],

  [ 11, 22, 33, 44, 55, 66],

  [111, 222, 333, 444, 555, 666]])

  

sample = [[]for i in range(3)] ##产生三行一列的空列表

Out[172]: [[], [], []]

for i in range(0,6,2): ##每间隔一列便添加到sample中

 sample = np.hstack((sample,n[:,i,np.newaxis])) 

   

  

sample

Out[170]:

array([[ 1., 3., 5.],

  [ 11., 33., 55.],

  [ 111., 333., 555.]])

Copy after login

Continuously updating...

Related recommendations:


Python's numpy library

Python NumPy library installation and usage notes

The above is the detailed content of Methods to convert matrices into lists and other functions in Python's numpy library_python. For more information, please follow other related articles on the PHP Chinese website!

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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to efficiently copy the entire column of one DataFrame into another DataFrame with different structures in Python? How to efficiently copy the entire column of one DataFrame into another DataFrame with different structures in Python? Apr 01, 2025 pm 11:15 PM

When using Python's pandas library, how to copy whole columns between two DataFrames with different structures is a common problem. Suppose we have two Dats...

Can Python parameter annotations use strings? Can Python parameter annotations use strings? Apr 01, 2025 pm 08:39 PM

Alternative usage of Python parameter annotations In Python programming, parameter annotations are a very useful function that can help developers better understand and use functions...

How do Python scripts clear output to cursor position at a specific location? How do Python scripts clear output to cursor position at a specific location? Apr 01, 2025 pm 11:30 PM

How do Python scripts clear output to cursor position at a specific location? When writing Python scripts, it is common to clear the previous output to the cursor position...

Why can't my code get the data returned by the API? How to solve this problem? Why can't my code get the data returned by the API? How to solve this problem? Apr 01, 2025 pm 08:09 PM

Why can't my code get the data returned by the API? In programming, we often encounter the problem of returning null values ​​when API calls, which is not only confusing...

How does Uvicorn continuously listen for HTTP requests without serving_forever()? How does Uvicorn continuously listen for HTTP requests without serving_forever()? Apr 01, 2025 pm 10:51 PM

How does Uvicorn continuously listen for HTTP requests? Uvicorn is a lightweight web server based on ASGI. One of its core functions is to listen for HTTP requests and proceed...

How to dynamically create an object through a string and call its methods in Python? How to dynamically create an object through a string and call its methods in Python? Apr 01, 2025 pm 11:18 PM

In Python, how to dynamically create an object through a string and call its methods? This is a common programming requirement, especially if it needs to be configured or run...

How to use Go or Rust to call Python scripts to achieve true parallel execution? How to use Go or Rust to call Python scripts to achieve true parallel execution? Apr 01, 2025 pm 11:39 PM

How to use Go or Rust to call Python scripts to achieve true parallel execution? Recently I've been using Python...

Where to download Python .whl files under Windows? Where to download Python .whl files under Windows? Apr 01, 2025 pm 08:18 PM

Python binary library (.whl) download method explores the difficulties many Python developers encounter when installing certain libraries on Windows systems. A common solution...

See all articles