Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menukar Pandas DataFrame dengan Nilai Hilang kepada NumPy Array Memelihara NaN?
Tukar bingkai data Pandas dengan nilai yang tiada kepada tatasusunan NumPy, mengekalkan nilai yang hilang sebagai np.nan. Pertimbangkan kerangka data berikut:
<code class="python">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) df = df.rename_axis('ID') print(df)</code>
Output:
A B C ID 1 NaN 0.2 NaN 2 NaN NaN 0.5 3 NaN 0.2 0.5 4 0.1 0.2 NaN 5 0.1 0.2 0.5 6 0.1 NaN 0.5 7 0.1 NaN NaN
Gunakan kaedah to_numpy() untuk menukar bingkai data kepada Tatasusunan NumPy dengan nilai yang tiada diwakili sebagai np.nan:
<code class="python">import numpy as np import pandas as pd np_array = df.to_numpy() print(np_array)</code>
Output:
[[ 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]]
Jika anda perlu mengekalkan jenis data dalam tatasusunan yang terhasil, gunakan DataFrame.to_records() untuk mencipta tatasusunan berstruktur NumPy:
<code class="python">import numpy as np import pandas as pd structured_array = df.to_records() print(structured_array)</code>
Output:
rec.array([('a', 1, 4, 7), ('b', 2, 5, 8), ('c', 3, 6, 9)], dtype=[('ID', 'O'), ('A', '<i8'), ('B', '<i8'), ('B', '<i8')])
Atas ialah kandungan terperinci Bagaimana untuk Menukar Pandas DataFrame dengan Nilai Hilang kepada NumPy Array Memelihara NaN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!