Heim >Backend-Entwicklung >Python-Tutorial >Wie konvertiert man Pandas-DataFrames effizient in NumPy-Arrays?

Wie konvertiert man Pandas-DataFrames effizient in NumPy-Arrays?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-20 06:15:10186Durchsuche

How to Efficiently Convert Pandas DataFrames to NumPy Arrays?

Pandas-Datenrahmen in NumPy-Array konvertieren


Warum df.to_numpy() die empfohlene Methode ist


Die Verwendung von df.to_numpy() ist die empfohlene Methode, weil Es bietet eine konsistente und zuverlässige Möglichkeit, NumPy-Arrays aus Pandas-Objekten abzurufen. Es ist für Index-, Series- und DataFrame-Objekte definiert und gibt standardmäßig eine Ansicht der zugrunde liegenden Daten zurück, was bedeutet, dass alle am NumPy-Array vorgenommenen Änderungen auch im Pandas-Objekt widergespiegelt werden. Wenn eine Kopie der Daten benötigt wird, kann der Parameter copy=True verwendet werden.


Es ist wichtig zu beachten, dass df.values ​​in der aktuellen Version von Pandas nicht veraltet sein wird, aber Es wird empfohlen, df.to_numpy() für neuen Code zu verwenden und sofort auf die neuere API zu migrieren möglich.


Um die Dtypes beim Konvertieren eines Pandas-Datenrahmens in ein NumPy-Array beizubehalten, kann die Methode DataFrame.to_records() verwendet werden.


pandas als pd importieren<br>numpy importieren als 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>Konvertieren Sie den DataFrame in ein NumPy-Array mit beibehaltenen dtypes</h1>
<p>array = df.to_records()</p>
<h1>Drucken Sie NumPy array</h1>
<p>print(array)<br>

Die Ausgabe des Codes ist wie folgt:


<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')])


Wie Sie sehen können, behält das NumPy-Array die dtypes der Spalten im DataFrame bei.

Das obige ist der detaillierte Inhalt vonWie konvertiert man Pandas-DataFrames effizient in NumPy-Arrays?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn