Heim > Artikel > Backend-Entwicklung > Wie kann ich einen Pandas DataFrame mit fehlenden Werten mit „df.to_numpy()“ in ein NumPy-Array konvertieren und Datentypen beibehalten?
Zum Konvertieren eines Pandas-Datenrahmens mit fehlenden Werten in ein NumPy Um ein Array mit np.nan zu erstellen, das fehlende Werte darstellt, verwenden Sie die Methode df.to_numpy(). Es bietet eine konsistente und zuverlässige Möglichkeit, NumPy-Arrays sowohl aus Datenrahmen als auch aus Index-/Serienobjekten zu erhalten.
<code class="python">import numpy as np import pandas as pd df = pd.DataFrame({ "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], }, index=[1, 2, 3, 4, 5, 6, 7]) np_array = df.to_numpy() print(np_array)</code>
Dadurch wird ein NumPy-Array mit fehlenden Werten ausgegeben, dargestellt als np.nan:
[[ 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]]
Um Datentypen im NumPy-Array beizubehalten, verwenden Sie die Funktion np.rec.fromrecords():
<code class="python">v = df.reset_index() np_array_dtypes = np.rec.fromrecords(v, names=v.columns.tolist()) print(np_array_dtypes)</code>
Dadurch wird ein NumPy-Array mit dem Original ausgegeben Datentypen werden wie folgt beibehalten:
rec.array([('1', 1, 0.2, 0.5), ('2', 2, np.nan, 0.5), ('3', 3, 0.2, 0.5), ('4', 4, 0.2, np.nan), ('5', 5, 0.2, 0.5), ('6', 6, np.nan, 0.5), ('7', 7, np.nan, np.nan)], dtype=[('index', '<U1'), ('A', '<f8'), ('B', '<f8'), ('C', '<f8')])
Das obige ist der detaillierte Inhalt vonWie kann ich einen Pandas DataFrame mit fehlenden Werten mit „df.to_numpy()“ in ein NumPy-Array konvertieren und Datentypen beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!