La conversion d'un DataFrame Pandas contenant des valeurs manquantes en un tableau NumPy est une tâche courante dans l'analyse des données. Le résultat souhaité est que np.nan représente les valeurs manquantes.
La méthode recommandée pour cette conversion est d'utiliser la méthode df.to_numpy() :
<code class="python">import numpy as np import pandas as pd # Create a DataFrame with missing values index = [1, 2, 3, 4, 5, 6, 7] a = [np.nan, np.nan, np.nan, 0.1, 0.1, 0.1, 0.1] b = [0.2, np.nan, 0.2, 0.2, 0.2, np.nan, np.nan] c = [np.nan, 0.5, 0.5, np.nan, 0.5, 0.5, np.nan] df = pd.DataFrame({'A': a, 'B': b, 'C': c}, index=index) # Convert to NumPy array np_array = df.to_numpy() print(np_array)</code>
Cela affichera :
<code class="python">array([[ nan, 0.2, nan], [ nan, nan, 0.5], [ nan, 0.2, 0.5], [ 0.1, 0.2, nan], [ 0.1, 0.2, 0.5], [ 0.1, nan, 0.5], [ 0.1, nan, nan]])</code>
Pour conserver les types de données dans le tableau NumPy de sortie, vous pouvez utiliser la méthode df.to_records() :
<code class="python">records = df.to_records() print(records.dtype)</code>
Cela affichera :
<code class="python">[('index', 'O'), ('A', '<f8'), ('B', '<f8'), ('C', '<f8')]</code>
où O représente le type d'objet (index) et f8 représente le type float64 (les valeurs).
Utilisation de np .rec.fromrecords, vous pouvez convertir les enregistrements en un tableau NumPy structuré :
<code class="python">import numpy as np np_array = np.rec.fromrecords(records, names=df.columns) print(np_array.dtype)</code>
Cela affichera les mêmes types de données que les enregistrements.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!