np.transpose: Cara membalikkan sumbu array dalam python – Codewithaden

Fungsi transpose numpy () membalikkan atau memungkinkan sumbu array, dan mengembalikan array yang dimodifikasi. Untuk array dengan dua sumbu, transpose (a) memberikan matriks transpos. Transpose dari array 1D masih merupakan array 1D. Sebelum kita melangkah lebih jauh, mari kita pelajari perbedaan antara matriks numpy dan array numpy.

Ndarray adalah wadah multidimensi (biasanya ukuran tetap) dari elemen dari jenis dan ukuran yang sama. Jumlah dimensi dan item dalam array ditentukan oleh bentuknya, yang merupakan tuple dari n bilangan bulat non-negatif yang menentukan ukuran masing-masing dimensi.

Jenis elemen dalam array ditentukan oleh objek tipe data yang terpisah ( dtype ) terkait dengan masing -masing ndarray . Seperti halnya objek wadah lain dalam python, isi ndarray dapat diakses dan dimodifikasi dengan pengindeksan atau mengiris array (menggunakan, misalnya, n bilangan bulat) dan melalui metode dan atribut dari ndarray

Kamu harus Instal Numpy untuk tutorial ini. Juga, periksa Versi Numpy demikian juga.

Perbedaan antara matriks numpy dan array numpy

Numpy matriks benar-benar dua dimensi, sedangkan numpy array (ndarrays) adalah n-dimensi. Objek matriks adalah subclass dari ndarray, sehingga mereka mewarisi semua atribut dan metode ndarrays.

Keuntungan utama dari Numpy Matriks adalah bahwa mereka memberikan notasi yang nyaman untuk multiplikasi matriks: jika x dan y adalah matriks, maka x*y adalah produk matriks mereka.

Di sisi lain, pada Python 3.5, Numpy mendukung multiplikasi matriks infix menggunakan Operator sehingga Anda dapat mencapai kenyamanan yang sama dari multiplikasi matriks dengan ndarrays di Python> = 3.5.

Baik objek matriks dan ndarrays .T untuk mengembalikan transpose, tetapi objek matriks juga memiliki .H untuk transpos konjugat dan untuk terbalik.

Sebaliknya, Array Numpy aturan konsisten bahwa operasi diterapkan elemen-bijaksana (kecuali untuk @ operator baru). Jadi, jika x dan y adalah array yang tidak bagus, maka x*y adalah array yang dibentuk dengan mengalikan elemen komponen.

Saya berharap keraguan Anda di Numpy Himpunan dan Numpy Matriks akan jelas.

np.transpose

NP.Transpose () adalah fungsi pustaka numpy yang melakukan fungsi transpose sederhana dalam satu baris. Metode transpose () dapat mengubah array 2D; Di sisi lain, itu tidak mempengaruhi array 1D. Dengan demikian, metode transpose () mengubah 2D array numpy

Sintaksis

numpy.transpose(a, axes=None) 

Parameter

A: array_ seperti

Itu adalah array input.

Sumbu: tuple atau daftar ints, opsional

Jika ditentukan, harus berupa tuple atau daftar, yang berisi permutasi [0,1, .., n-1] di mana n adalah jumlah sumbu a.

Sumbu saya dari array yang dikembalikan akan sesuai dengan sumbu sumbu [i] dari input.

Jika tidak ditentukan, default ke rentang (a.ndim) [::-1], yang membalikkan urutan sumbu.

Nilai pengembalian

Itu Fungsi transpose () Mengembalikan array dengan sumbu diizinkan . SEBUAH melihat dikembalikan kapan pun memungkinkan.

Contoh

# app.py

import numpy as np

data = np.arange(6).reshape((2, 3))
print("Original Array")
print(data)

tMat = np.transpose(data)
print("Transposed Array")
print(tMat) 

Keluaran

python3 app.py
Original Array
[[0 1 2]
 [3 4 5]]
Transposed Array
[[0 3]
 [1 4]
 [2 5]] 

Kami telah mendefinisikan array menggunakan NP ARANGE fungsi dan membentuknya kembali menjadi (2 x 3).

Kemudian kami telah menggunakan fungsi transpose () untuk mengubah baris menjadi kolom dan kolom menjadi baris.

Transpose Array Dua Dimensi (Matriks)

Anda bisa mendapatkan matriks yang ditransposkan dari array dua dimensi asli (matriks) dengan Atribut dalam Python. Lihat kode berikut.

import numpy as np

arr2d = np.arange(6).reshape(2, 3)
print(arr2d)
print('\n')
print('After using T attribute: ')
arr2d_T = arr2d.T
print(arr2d_T)
 

Keluaran

[[0 1 2]
 [3 4 5]]


After using T attribute:
[[0 3]
 [1 4]
 [2 5]] 

Atribut T Numpy mengembalikan tampilan array asli, dan mengubah yang satu mengubah yang lain. Anda dapat memeriksa apakah ndarray mengacu pada data dalam memori yang sama dengan np.shares_memory ()

ndarray.transpose ()

Transpose () disediakan sebagai metode ndarray. Seperti, t, tampilan dikembalikan.

import numpy as np

arr2d = np.arange(6).reshape(2, 3)
print(arr2d)
print('\n')
print('After using transpose() function: ')
arr2d_T = arr2d.transpose()
print(arr2d_T)
 

Keluaran

[[0 1 2]
 [3 4 5]]


After using transpose() function:
[[0 3]
 [1 4]
 [2 5]] 

Anda dapat melihat bahwa kami mendapat output yang sama seperti di atas.

Transpose objek seperti array

Fungsi transpose () berfungsi dengan objek seperti array, seperti yang bersarang daftar

# app.py

import numpy as np

arr = [[11, 21, 19], [46, 18, 29]]
print(arr)

arr1_transpose = np.transpose(arr)
print(arr1_transpose)
 

Keluaran

python3 app.py
[[11, 21, 19], [46, 18, 29]]
[[11 46]
 [21 18]
 [19 29]] 

Konversi vektor 1D ke array 2D di Numpy

Jika Anda ingin mengubah vektor 1D Anda menjadi array 2D dan kemudian transpos, iris dengan numpy np.newaxis (atau tidak ada, mereka sama; sumbu baru hanya lebih mudah dibaca).

Lihat kode berikut.

# app.py

import numpy as np

arr = np.array([19, 21])[np.newaxis]
print(arr)
print(arr.T)
 

Keluaran

python3 app.py
[[19 21]]
[[19]
 [21]] 

Menambahkan dimensi ekstra biasanya bukan yang Anda butuhkan jika Anda melakukannya karena kebiasaan.

Numpy akan secara otomatis menyiarkan array 1D saat melakukan berbagai perhitungan. Jadi biasanya tidak perlu membedakan antara vektor baris dan vektor kolom (tidak ada yang tidak ada Vektor . Keduanya 2D!) Saat Anda menginginkan vektor.

Anda juga dapat menggunakan metode berikut.

# app.py

import numpy as np

arr = np.array([19, 21, 29, 46])
rearr = arr.reshape((-1, 1))
print(rearr)
 

Keluaran

python3 app.py
[[19]
 [21]
 [29]
 [46]] 

Menggunakan mengubah urutan arr, argsort (sumbu)) untuk membalikkan transposisi tensor saat menggunakan kapak argumen kata kunci. Misalnya, transposing Array 1D mengembalikan tampilan array asli yang tidak berubah.

Menerapkan transpose () atau T ke array satu dimensi

Jika kami menerapkan T atau transpose () ke array satu dimensi, maka ia mengembalikan array yang setara dengan array asli.

import numpy as np

arr2d = np.arange(6)
print(arr2d)
print('\n')
print('After applying T: ')
arr2d_T = arr2d.T
print(arr2d_T)
print('\n')
print('After applying transpose() function: ')
arr2d_transpose = arr2d.transpose()
print(arr2d_transpose)
 

Keluaran

[0 1 2 3 4 5]


After applying T:
[0 1 2 3 4 5]


After applying transpose() function:
[0 1 2 3 4 5] 

Anda dapat melihat dalam output bahwa, setelah menerapkan fungsi T atau transpose () ke array 1D, ia mengembalikan array asli.

Numpy matrix.transpose ()

Pada bagian di atas, kita telah melihat cara menemukan transposa array numpy menggunakan fungsi transpose numpy (). Tapi, pertama, mari kita temukan transpos dari matriks numpy ().

# app.py

import numpy as np

mat = np.matrix('[19, 21; 11, 10]')
print("Original Matrix")
print(mat)

# applying matrix.transpose() method
print('Transposed Matrix')
print(mat.transpose())
 

Keluaran

python3 app.py
Original Matrix
[[19 21]
 [11 10]]
Transposed Matrix
[[19 11]
 [21 10]] 

Matriks dengan hanya satu baris disebut vektor baris, dan matriks dengan satu kolom disebut vektor kolom, tetapi tidak ada perbedaan antara baris dan kolom dalam array satu dimensi ndarray.

Array dua dimensi menunjukkan bahwa hanya baris atau kolom yang ada.

Di sini, ubah bentuknya dengan menggunakan membentuk kembali()

Menentukan urutan sumbu dengan transpose ()

Menggunakan secara permanen membalikkan pesanan, tetapi Anda dapat menentukan pesanan apa pun menggunakan metode transpose ().

Dalam contoh di bawah ini, tentukan urutan terbalik yang sama sebagai default, dan konfirmasikan bahwa hasilnya tidak berubah.

Metode ndarray transpose () menentukan urutan sumbu dengan argumen panjang variabel atau tupel

import numpy as np

arr = np.arange(24).reshape(2, 3, 4)
print(arr)

print(arr.transpose(2, 1, 0))
 

Keluaran

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

 [[12 13 14 15]
  [16 17 18 19]
  [20 21 22 23]]]
[[[ 0 12]
  [ 4 16]
  [ 8 20]]

 [[ 1 13]
  [ 5 17]
  [ 9 21]]

 [[ 2 14]
  [ 6 18]
  [10 22]]

 [[ 3 15]
  [ 7 19]
  [11 23]]] 

Kesalahan terjadi jika jumlah sumbu yang ditentukan tidak cocok dengan beberapa dimensi array asli atau jika dimensi yang tidak ada ditentukan.

Kesimpulan

Dalam tutorial transpose numpy ini, kita telah melihat cara menggunakan fungsi transpose () pada array numpy dan matriks numpy, perbedaan antara matriks dan array numpy, dan mengonversi 1D ke array 2D.

Itu dia.

Lihat juga

Bentuk array yang tidak bagus

Atribut Array Numpy

Bagaimana menemukan indeks array numpy

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *