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 pd
import numpy as np
data = np.random.randint(10, size=(5,2))
df = pd.DataFrame(data=data,columns=['A','B'])
print(df)
returns for example
A B
0 2 3
1 9 8
2 4 8
3 4 7
4 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.nan
print(df)
donne
A B
0 2 3.0
1 9 8.0
2 4 NaN
3 4 7.0
4 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 C
0 2 3.0 a
1 9 8.0 b
2 4 NaN c
3 4 7.0 d
4 3 8.0 e
alors
M = df['C'].to_numpy()
donne
['a' 'b' 'c' 'd' 'e']
er
M.dtype
donne
dtype('O')