Trasponi un array 1D in NumPy

Vaibhav Vaibhav 22 giugno 2021
Trasponi un array 1D in NumPy

Gli array e le matrici costituiscono il nucleo di questa libreria Python. Le trasposizioni di questi array e matrici svolgono un ruolo fondamentale in alcuni argomenti, come l’apprendimento automatico. In NumPy, è semplice calcolare la trasposizione di un array o di una matrice.

Trasponi un array 1D in NumPy

Per trasporre un array o una matrice in NumPy, dobbiamo usare l’attributo T che memorizza l’array o la matrice trasposta.

L’attributo T è esclusivo degli array NumPy, cioè solo ndarray. Questo attributo non è valido per gli elenchi Python.

Teoricamente, è possibile trasporre un array 1D, ma tecnicamente, o più precisamente, in termini di linguaggi di programmazione, non è possibile trasporre un array 1D.

Non fraintendermi con questa affermazione. È solo che la trasposizione di un array 1D è leggermente diversa in Python o in qualsiasi altro linguaggio di programmazione. Tutto si riduce a come gli array sono rappresentati nei linguaggi di programmazione.

Un array 1D è semplicemente una riga di una matrice. Se dobbiamo trasporre questo array, tecnicamente matrice, dobbiamo convertire questa matrice 1D in una matrice 2D. Quindi trasporre la matrice 2-D utilizzando le funzioni designate.

Fare riferimento al codice seguente per una migliore spiegazione.

import numpy as np

a = [1, 2, 3, 4, 5]
b = np.array(a)
c = np.array([a])
print(b)
print(c)
print(b.shape)
print(c.shape)
print(b.T)
print(c.T)

Produzione:

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

Per prima cosa, formiamo due array NumPy, b è 1D e c è 2D, usando il metodo np.array() e una lista Python. Per convertire la lista in una matrice 2D, lo avvolgiamo tra parentesi []. Quindi stampiamo gli array NumPy e le loro rispettive forme.

Ma la cosa più importante da notare è che la trasposizione dell’array 1D è la stessa dell’array stesso, ma la trasposizione dell’array 2D è completamente cambiata. E i risultati sono abbastanza evidenti.

La matrice 2D non trasposta ha una matrice al suo interno con cinque elementi che rappresentano una riga della matrice. Una volta trasposto, c’erano cinque array all’interno dell’array 2D che rappresentano cinque righe della matrice trasposta con un elemento in ogni riga. Ed è così che funziona la trasposizione!

Mentre, nel caso dell’array 1D, è stato restituito lo stesso array perché l’array trasposto di [1 2 3 4 5] in Python ha questo aspetto [[1] [2] [3] [4] [5]. E questo risultato richiede che il nostro array originale sia 2D anziché 1D.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.