Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menukar Pandas DataFrame dengan Nilai Hilang kepada NumPy Array Memelihara NaN?

Bagaimana untuk Menukar Pandas DataFrame dengan Nilai Hilang kepada NumPy Array Memelihara NaN?

Patricia Arquette
Lepaskan: 2024-11-05 02:27:02
asal
628 orang telah melayarinya

How to Convert a Pandas DataFrame with Missing Values to a NumPy Array Preserving NaN?

Tukar Bingkai Data Pandas dengan Nilai Hilang kepada Tatasusunan NumPy

Masalah

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>
Salin selepas log masuk

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
Salin selepas log masuk

Penyelesaian Menggunakan df.to_numpy()

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>
Salin selepas log masuk

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]]
Salin selepas log masuk

Memelihara Jenis Data

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>
Salin selepas log masuk

Output:

rec.array([('a', 1, 4, 7), ('b', 2, 5, 8), ('c', 3, 6, 9)],
          dtype=[('ID', 'O'), ('A', '<i8'), ('B', '<i8'), ('B', '<i8')])
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan