Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana dengan Cekap Menukar Pandas DataFrames kepada NumPy Arrays?

Bagaimana dengan Cekap Menukar Pandas DataFrames kepada NumPy Arrays?

Patricia Arquette
Lepaskan: 2024-12-20 06:15:10
asal
185 orang telah melayarinya

How to Efficiently Convert Pandas DataFrames to NumPy Arrays?

Tukar bingkai data panda kepada tatasusunan NumPy


Mengapa df.to_numpy() ialah kaedah yang disyorkan


Menggunakan df.to_numpy() ialah kaedah yang disyorkan kerana ia menyediakan cara yang konsisten dan boleh dipercayai untuk mendapatkan tatasusunan NumPy daripada objek panda. Ia ditakrifkan pada objek Indeks, Siri dan DataFrame, dan secara lalai, ia mengembalikan paparan data asas, yang bermaksud bahawa sebarang pengubahsuaian yang dibuat pada tatasusunan NumPy juga akan ditunjukkan dalam objek panda. Jika salinan data diperlukan, copy=Parameter True boleh digunakan.


Adalah penting untuk ambil perhatian bahawa df.values ​​tidak akan ditamatkan dalam versi semasa panda, tetapi adalah disyorkan untuk menggunakan df.to_numpy() untuk kod baharu dan berhijrah ke arah API yang lebih baharu sebaik sahaja mungkin.


Untuk mengekalkan djenis semasa menukar bingkai data panda kepada tatasusunan NumPy, kaedah DataFrame.to_records() boleh digunakan.


import panda sebagai pd
import numpy sebagai np

indeks = [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')

Tukar DataFrame kepada tatasusunan NumPy dengan dtypes yang dipelihara

array = df.to_records()

Cetak NumPy tatasusunan

cetak(susun)

Keluaran kod adalah seperti berikut:



rec.array([('ID', 'index', 'A', 'B', 'C')]

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


Seperti yang anda lihat, tatasusunan NumPy mengekalkan djenis lajur dalam DataFrame.

Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukar Pandas DataFrames kepada NumPy Arrays?. 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