Heim > Artikel > Backend-Entwicklung > Wie konvertiere ich einen Pandas-DataFrame mit fehlenden Werten in ein NumPy-Array?
Das Konvertieren eines Pandas DataFrame mit fehlenden Werten in ein NumPy-Array ist eine häufige Aufgabe bei der Datenanalyse. Die gewünschte Ausgabe besteht darin, dass np.nan fehlende Werte darstellt.
Die empfohlene Methode für diese Konvertierung ist die Verwendung der Methode 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>
Dies wird Folgendes ausgeben:
<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>
Um die Datentypen im Ausgabe-NumPy-Array beizubehalten, können Sie die Methode df.to_records() verwenden :
<code class="python">records = df.to_records() print(records.dtype)</code>
Dies wird Folgendes ausgeben:
<code class="python">[('index', 'O'), ('A', '<f8'), ('B', '<f8'), ('C', '<f8')]</code>
wobei O den Objekttyp (Index) und f8 den Float64-Typ (die Werte) darstellt.
Mit np .rec.fromrecords können Sie die Datensätze in ein strukturiertes NumPy-Array konvertieren:
<code class="python">import numpy as np np_array = np.rec.fromrecords(records, names=df.columns) print(np_array.dtype)</code>
Dadurch werden die gleichen Datentypen wie die Datensätze ausgegeben.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen Pandas-DataFrame mit fehlenden Werten in ein NumPy-Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!