Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menggabungkan Tatasusunan NumPy dengan Jenis Data Berbeza Semasa Memelihara Jenis Data?
Menggabungkan Tatasusunan dengan Pelbagai Jenis Data dalam NumPy
Keinginan untuk menggabungkan tatasusunan yang mengandungi jenis data yang berbeza ke dalam tatasusunan tunggal dengan jenis data yang sepadan dalam setiap lajur menimbulkan satu cabaran. Pendekatan biasa, menggunakan np.concatenate(), malangnya menukarkan keseluruhan tatasusunan kepada jenis data rentetan, yang membawa kepada ketidakcekapan memori.
Untuk mengatasi had ini, penyelesaian yang berdaya maju melibatkan penggunaan tatasusunan rekod atau tatasusunan berstruktur.
Tatasusunan Rekod
Tatasusunan rekod membenarkan medan data individu diakses melalui atribut. Dengan menyatakan jenis data bagi setiap medan, berbilang jenis data boleh digabungkan dalam tatasusunan tunggal:
<code class="python">import numpy as np a = np.array(['a', 'b', 'c', 'd', 'e']) b = np.arange(5) records = np.rec.fromarrays((a, b), names=('keys', 'data')) print(records)</code>
Output:
rec.array([('a', 0), ('b', 1), ('c', 2), ('d', 3), ('e', 4)], dtype=[('keys', '|S1'), ('data', '<i8')])
Tatasusunan Berstruktur
Tatasusunan berstruktur adalah serupa, menawarkan keupayaan untuk menentukan jenis data setiap lajur. Walau bagaimanapun, mereka tidak menyokong akses atribut seperti tatasusunan rekod:
<code class="python">arr = np.array([('a', 0), ('b', 1)], dtype=([('keys', '|S1'), ('data', 'i8')])) print(arr)</code>
Output:
array([('a', 0), ('b', 1)], dtype=[('keys', '|S1'), ('data', '<i8')])
Memilih Antara Tatasusunan Rekod dan Berstruktur
Pilihan antara tatasusunan rekod dan tatasusunan berstruktur bergantung pada kes penggunaan individu. Tatasusunan rekod memberikan kemudahan dengan akses atribut, manakala tatasusunan berstruktur mungkin lebih disukai untuk struktur data yang lebih kompleks. Kedua-dua pendekatan menawarkan cara yang mudah untuk menggabungkan tatasusunan dengan jenis data yang berbeza dalam NumPy, memberikan fleksibiliti dan kecekapan dalam manipulasi data.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Tatasusunan NumPy dengan Jenis Data Berbeza Semasa Memelihara Jenis Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!