Maison >développement back-end >Tutoriel Python >Comment convertir efficacement les DataFrames Pandas en tableaux NumPy ?

Comment convertir efficacement les DataFrames Pandas en tableaux NumPy ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-20 06:15:10185parcourir

How to Efficiently Convert Pandas DataFrames to NumPy Arrays?

Convertir la trame de données Pandas en tableau NumPy


Pourquoi df.to_numpy() est la méthode recommandée


L'utilisation de df.to_numpy() est la méthode recommandée car elle fournit un moyen cohérent et fiable d'obtenir des tableaux NumPy à partir d'objets pandas. Il est défini sur les objets Index, Series et DataFrame et, par défaut, il renvoie une vue des données sous-jacentes, ce qui signifie que toute modification apportée au tableau NumPy sera également reflétée dans l'objet pandas. Si une copie des données est nécessaire, le paramètre copy=True peut être utilisé.


Il est important de noter que df.values ​​ne sera pas obsolète dans la version actuelle de pandas, mais il est recommandé d'utiliser df.to_numpy() pour le nouveau code et de migrer vers la nouvelle API dès que possible.


Pour conserver les types lors de la conversion d'un dataframe pandas en tableau NumPy, la méthode DataFrame.to_records() peut être utilisée.


importer des pandas en tant que pd<br>importer numpy en tant que np</p>
<p>index = [1, 2, 3, 4, 5, 6, 7]<br>a = [np.nan, np.nan, np.nan, 0.1, 0.1, 0.1, 0.1] <br>b = [0,2, np.nan, 0,2, 0,2, 0,2, np.nan, np.nan]<br>c = [np.nan, 0.5, 0.5, np.nan, 0.5, 0.5, np.nan]<br>df = pd.DataFrame({'A' : a, 'B' : b, 'C' : c}, index=index)<br>df = df.rename_axis('ID')</p>
<h1>Convertir le DataFrame en un tableau NumPy avec des types préservés</h1>
<p>array = df.to_records()</p>
<h1>Imprimer le NumPy array</h1>
<p>print(array)<br>

La sortie du code est la suivante :


<br> rec.array([('ID', 'index', 'A', 'B', 'C')]</p>
<pre class="brush:php;toolbar:false">           [1, 'a', nan, 0.2, nan],
           [2, 'b', nan, nan, 0.5],
           [3, 'c', nan, 0.2, 0.5],
           [4, 'd', 0.1, 0.2, nan],
           [5, 'e', 0.1, 0.2, 0.5],
           [6, 'f', 0.1, nan, 0.5],
           [7, 'g', 0.1, nan, nan]),
      dtype=[('ID', '<i8'), ('index', 'O'), ('A', '<f8'), ('B', '<f8'), ('C', '<f8')])


Comme vous pouvez le voir, le tableau NumPy préserve les types des colonnes dans le DataFrame.

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!

Déclaration:
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