Come aggiungere un array numpy a un dataframe pandas


A volte potresti voler aggiungere un array NumPy come nuova colonna a un DataFrame panda.

Fortunatamente, puoi farlo facilmente utilizzando la seguente sintassi:

 df[' new_column '] = array_name. tolist ()

Questo tutorial mostra alcuni esempi di utilizzo pratico di questa sintassi.

Esempio 1: aggiungi un array NumPy come nuova colonna in DataFrame

Il codice seguente mostra come creare un DataFrame panda per contenere alcune statistiche dei giocatori di basket e aggiungere un array NumPy come una nuova colonna denominata “blocchi”:

 import numpy as np
import pandas as pd

#create pandas DataFrame
df = pd.DataFrame({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#create NumPy array for 'blocks'
blocks = np. array ([2, 3, 1, 0, 2, 7, 8, 2])

#add 'blocks' array as new column in DataFrame
df[' blocks '] = blocks. tolist ()

#display the DataFrame
print(df)

   points assists rebounds blocks
0 25 5 11 2
1 12 7 8 3
2 15 7 10 1
3 14 9 6 0
4 19 12 6 2
5 23 9 5 7
6 25 9 9 8
7 29 4 12 2

Tieni presente che il nuovo DataFrame ora ha una colonna aggiuntiva denominata Blocks .

Esempio 2: aggiungi la matrice NumPy come nuove colonne in DataFrame

Il codice seguente mostra come creare un DataFrame panda per contenere alcune statistiche dei giocatori di basket e aggiungere un array NumPy come una nuova colonna denominata “blocchi”:

 import numpy as np
import pandas as pd

#create pandas DataFrame
df = pd.DataFrame({' points ': [25, 12, 15, 14, 19, 23

#create NumPy matrix
mat = np.matrix([[2, 3],
                 [1, 0],
                 [2, 7],
                 [8, 2],
                 [3, 4],
                 [7, 7],
                 [7, 5],
                 [6, 3]])

#add NumPy matrix as new columns in DataFrame
df_new = pd. concat ([df, pd.DataFrame(mat)], axis= 1 )

#display new DataFrame
print(df_new)

   points assists rebounds 0 1
0 25 5 11 2 3
1 12 7 8 1 0
2 15 7 10 2 7
3 14 9 6 8 2
4 19 12 6 3 4
5 23 9 5 7 7
6 25 9 9 7 5
7 29 4 12 6 3

Tieni presente che ai nomi delle colonne della matrice che abbiamo aggiunto a DataFrame vengono assegnati nomi di colonna predefiniti pari a 0 e 1 .

Possiamo facilmente rinominare queste colonne usando la funzione df.columns :

 #rename columns
df_new. columns = ['pts', 'ast', 'rebs', 'new1', 'new2']

#display DataFrame
print(df_new)

pts ast rebs new1 new2
0 25 5 11 2 3
1 12 7 8 1 0
2 15 7 10 2 7
3 14 9 6 8 2
4 19 12 6 3 4
5 23 9 5 7 7
6 25 9 9 7 5
7 29 4 12 6 3

Risorse addizionali

Come impilare più DataFrames Pandas
Come unire due DataFrames Panda su index
Come convertire Pandas DataFrame nell’array NumPy
Come rinominare le colonne in Pandas

Aggiungi un commento

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