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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *