Comment convertir un DataFrame Pandas avec des valeurs manquantes en un tableau NumPy ?

Linda Hamilton
Libérer: 2024-11-04 12:17:29
original
495 Les gens l'ont consulté

How to Convert a Pandas DataFrame with Missing Values to a NumPy Array?

Convertir un DataFrame Pandas avec des valeurs manquantes en un tableau NumPy

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.

Utilisation de df.to_numpy()

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>
Copier après la connexion

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>
Copier après la connexion

Préservation des types de données

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>
Copier après la connexion

Cela affichera :

<code class="python">[('index', 'O'), ('A', '<f8'), ('B', '<f8'), ('C', '<f8')]</code>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!