Exemples de comment convertir une colonne d'une dataframe en matrice avec pandas
Create a dataframe
Let's create a dataframe with pandas
import pandas as pdimport numpy as npdata = np.random.randint(10, size=(5,2))df = pd.DataFrame(data=data,columns=['A','B'])print(df)
returns for example
A B0 2 31 9 82 4 83 4 74 3 8
Convertir une colonne de nombres
Pour convertir la colonne dataframe en matrice, une solution consiste à utiliser pandas.DataFrame.to_numpy. Exemple avec la colonne appelée 'B'
M = df['B'].to_numpy()
donne
array([3, 8, 8, 7, 8])
pour vérifier le type:
type(M)
donne
numpy.ndarray
Colonne avec des données manquante (s)
Si une valeur manquante np.nan est insérée dans la colonne:
df.iloc[2,1] = np.nanprint(df)
donne
A B0 2 3.01 9 8.02 4 NaN3 4 7.04 3 8.0
to_numpy() marche encore
M = df['B'].to_numpy()[ 3. 8. nan 7. 8.]
et
M.dtype
donne
dtype('float64')
Pour remplacer les valeurs manquantes par un nombre donné, une solution consiste à utiliser le paramètre na_value
M = df['B'].to_numpy(na_value=-999)
donne
[ 3. 8. -999. 7. 8.]
Convertir une colonne de strings
Un autre exemple avec une colonne de strings:
new_col_df = pd.DataFrame(data=['a','b','c','d','e'],columns=['C'])df = pd.concat([df,new_col_df], axis=1)
donne
A B C0 2 3.0 a1 9 8.0 b2 4 NaN c3 4 7.0 d4 3 8.0 e
alors
M = df['C'].to_numpy()
donne
['a' 'b' 'c' 'd' 'e']
er
M.dtype
donne
dtype('O')
