Converti pandas dataframe in numpy array (con esempi)
È possibile utilizzare la seguente sintassi per convertire un DataFrame panda in un array NumPy:
df. to_numpy ()
Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.
Esempio 1: convertire un DataFrame con gli stessi tipi di dati
Il codice seguente mostra come convertire un DataFrame panda in un array NumPy quando ciascuna delle colonne nel DataFrame è dello stesso tipo di dati:
import pandas as pd #create data frame df1 = pd. DataFrame ({' rebounds ': [7, 7, 8, 13, 7, 4], ' points ': [5, 7, 7, 9, 12, 9], ' assists ': [11, 8, 10, 6, 6, 5]}) #view data frame print (df1) rebound points assists 0 7 5 11 1 7 7 8 2 8 7 10 3 13 9 6 4 7 12 6 5 4 9 5 #convert DataFrame to NumPy array new = df1. to_numpy () #view NumPy array print (new) [[ 7 5 11] [7 7 8] [8 7 10] [13 9 6] [7 12 6] [4 9 5]] #confirm that new is a NumPy array print (type(new)) <class 'numpy.ndarray'> #view data type print (new. dtype ) int64
L’array Numpy ha un tipo di dati int64 poiché ogni colonna nel DataFrame panda originale era un int.
Esempio 2: convertire un DataFrame con tipi di dati misti
Il codice seguente mostra come convertire un DataFrame panda in un array NumPy quando le colonne nel DataFrame non sono tutte dello stesso tipo di dati:
import pandas as pd #create data frame df2 = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F'], ' points ': [5, 7, 7, 9, 12, 9], ' assists ': [11, 8, 10, 6, 6, 5]}) #view data frame print (df2) player points assists 0 to 5 11 1 B 7 8 2 C 7 10 3 D 9 6 4 E 12 6 5 F 9 5 #convert DataFrame to NumPy array new = df2. to_numpy () #view NumPy array print (new) [['A' 5 11] ['B' 7 8] ['C' 7 10] ['D' 9 6] ['E' 12 6] ['F' 9 5]] #confirm that new is a NumPy array print (type(new)) <class 'numpy.ndarray'> #view data type print (new. dtype ) object
L’array Numpy ha un tipo di dati Object perché non tutte le colonne nel DataFrame panda originale erano dello stesso tipo di dati.
Esempio 3: convertire DataFrame e impostare i valori NA
Il codice seguente mostra come convertire un DataFrame panda in un array NumPy e specificare i valori da impostare per tutti i valori NA nel DataFrame originale:
import pandas as pd #create data frame df3 = pd. DataFrame ({' player ': ['A', 'B', pd. NA , 'D', 'E', 'F'], ' points ': [5, 7, pd. NA , 9, pd. NA , 9], ' assists ': [11, 8, 10, 6, 6, 5]}) #view data frame print (df3) player points assists 0 to 5 11 1 B 7 8 2 <NA> <NA> 10 3 D 9 6 4 E <NA> 6 5 F 9 5 #convert DataFrame to NumPy array new = df3. to_numpy (na_value=' none ') #view NumPy array print (new) [['A' 5 11] ['B' 7 8] ['none' 'none' 10] ['D' 9 6] ['E' 'none' 6] ['F' 9 5]] #confirm that new is a NumPy array print (type(new)) <class 'numpy.ndarray'> #view data type print (new. dtype ) object
Risorse addizionali
Come creare un Pandas DataFrame da un array NumPy
Come convertire un elenco in DataFrame in Pandas
Come convertire un DataFrame in un elenco in Pandas