Python中怎样把矩阵转换为列表
这次给大家带来Python中怎样把矩阵转换为列表,Python中把矩阵转换为列表的注意事项有哪些,下面就是实战案例,一起来看一下。
这篇文章主要介绍Python的numpy库中的一些函数,做备份,以便查找。
(1)将矩阵转换为列表的函数:numpy.matrix.tolist()
返回list列表
Examples
>>> 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]]
(2)将数组转换为列表的函数:numpy.ndarray.tolist()
Notes:(数组能够被重新构造)
The array may be recreated, a=np.array(a.tolist()).
Examples
>>>
>>> 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]]
(3)numpy.mean()计算矩阵或数组的均值:
Examples
>>>
>>> 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])
(4)numpy.std()计算矩阵或数组的标准差:
Examples
>>>
>>> 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])
(5)numpy.newaxis为数组增加一个维度:
Examples:
>>> 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])
>>> 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)
(6)numpy.random.shuffle(index): 打乱数据集(数组)的顺序:
Examples:
>>> 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]
(7)计算二维数组某一行或某一列的最大值最小值:
>>> 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
(8)向数组中添加列:np.hstack()
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,)
可以看到,n是二维的,l是一维的,如果直接调用np.hstack()会出错:维度不同。
n = np.hstack((n,l)) ValueError: all the input arrays must have same number of dimensions
解决方法是将l变为二维的,可以用(5)中的方法:
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. ]])
下面讲一下如何按列往一个空列表添加值:
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.]])
持续更新中……
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Atas ialah kandungan terperinci Python中怎样把矩阵转换为列表. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP dan Python mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya bergantung kepada keperluan projek dan keutamaan peribadi. 1.PHP sesuai untuk pembangunan pesat dan penyelenggaraan aplikasi web berskala besar. 2. Python menguasai bidang sains data dan pembelajaran mesin.

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Docker menggunakan ciri -ciri kernel Linux untuk menyediakan persekitaran berjalan yang cekap dan terpencil. Prinsip kerjanya adalah seperti berikut: 1. Cermin digunakan sebagai templat baca sahaja, yang mengandungi semua yang anda perlukan untuk menjalankan aplikasi; 2. Sistem Fail Kesatuan (Unionfs) menyusun pelbagai sistem fail, hanya menyimpan perbezaan, menjimatkan ruang dan mempercepatkan; 3. Daemon menguruskan cermin dan bekas, dan pelanggan menggunakannya untuk interaksi; 4. Ruang nama dan cgroups melaksanakan pengasingan kontena dan batasan sumber; 5. Pelbagai mod rangkaian menyokong interkoneksi kontena. Hanya dengan memahami konsep -konsep teras ini, anda boleh menggunakan Docker dengan lebih baik.

Kod VS boleh digunakan untuk menulis Python dan menyediakan banyak ciri yang menjadikannya alat yang ideal untuk membangunkan aplikasi python. Ia membolehkan pengguna untuk: memasang sambungan python untuk mendapatkan fungsi seperti penyempurnaan kod, penonjolan sintaks, dan debugging. Gunakan debugger untuk mengesan kod langkah demi langkah, cari dan selesaikan kesilapan. Mengintegrasikan Git untuk Kawalan Versi. Gunakan alat pemformatan kod untuk mengekalkan konsistensi kod. Gunakan alat linting untuk melihat masalah yang berpotensi lebih awal.

Dalam kod VS, anda boleh menjalankan program di terminal melalui langkah -langkah berikut: Sediakan kod dan buka terminal bersepadu untuk memastikan bahawa direktori kod selaras dengan direktori kerja terminal. Pilih arahan Run mengikut bahasa pengaturcaraan (seperti python python your_file_name.py) untuk memeriksa sama ada ia berjalan dengan jayanya dan menyelesaikan kesilapan. Gunakan debugger untuk meningkatkan kecekapan debug.

Kod VS boleh dijalankan pada Windows 8, tetapi pengalaman mungkin tidak hebat. Mula -mula pastikan sistem telah dikemas kini ke patch terkini, kemudian muat turun pakej pemasangan kod VS yang sepadan dengan seni bina sistem dan pasangnya seperti yang diminta. Selepas pemasangan, sedar bahawa beberapa sambungan mungkin tidak sesuai dengan Windows 8 dan perlu mencari sambungan alternatif atau menggunakan sistem Windows yang lebih baru dalam mesin maya. Pasang sambungan yang diperlukan untuk memeriksa sama ada ia berfungsi dengan betul. Walaupun kod VS boleh dilaksanakan pada Windows 8, disyorkan untuk menaik taraf ke sistem Windows yang lebih baru untuk pengalaman dan keselamatan pembangunan yang lebih baik.

Sambungan kod VS menimbulkan risiko yang berniat jahat, seperti menyembunyikan kod jahat, mengeksploitasi kelemahan, dan melancap sebagai sambungan yang sah. Kaedah untuk mengenal pasti sambungan yang berniat jahat termasuk: memeriksa penerbit, membaca komen, memeriksa kod, dan memasang dengan berhati -hati. Langkah -langkah keselamatan juga termasuk: kesedaran keselamatan, tabiat yang baik, kemas kini tetap dan perisian antivirus.

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.
