Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menyimpan Berbilang Jenis Data dalam Tatasusunan NumPy Tunggal dengan Jenis Data Asal yang Dipelihara?

Bagaimana untuk Menyimpan Berbilang Jenis Data dalam Tatasusunan NumPy Tunggal dengan Jenis Data Asal yang Dipelihara?

DDD
DDDasal
2024-10-21 17:56:45654semak imbas

How to Store Multiple Data Types in a Single NumPy Array with Preserved Original Data Types?

Menyimpan Pelbagai Jenis Data dalam Tatasusunan NumPy Tunggal

Anda berhadapan dengan cabaran untuk menggabungkan dua tatasusunan, satu mengandungi rentetan dan satu lagi mengandungi integer, ke dalam tatasusunan tunggal. Walaupun pendekatan semasa anda menggunakan np.concatenate menghasilkan keseluruhan tatasusunan ditukar kepada rentetan dtype, anda mencari penyelesaian yang lebih cekap.

Rekod Tatasusunan:

Satu pendekatan yang berkesan ialah memanfaatkan tatasusunan rekod. Ini membolehkan anda membuat "lajur" yang mengekalkan jenis data asalnya. Tatasusunan rekod dibina menggunakan fungsi numpy.rec.fromarrays dan ambil tatasusunan yang mewakili setiap lajur bersama-sama dengan nama medannya yang sepadan.

<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)
# rec.array([('a', 0), ('b', 1), ('c', 2), ('d', 3), ('e', 4)], 
#      dtype=[('keys', '|S1'), ('data', '<i8')])</code>

Tatasusunan Berstruktur:

Satu lagi pilihan ialah menggunakan tatasusunan berstruktur, yang diisytiharkan dengan jenis data tersuai. Walaupun mereka kekurangan akses atribut yang disediakan oleh tatasusunan rekod, mereka menawarkan perwakilan yang lebih cekap.

<code class="python">arr = np.array([('a', 0), ('b', 1)], 
                      dtype=([('keys', '|S1'), ('data', 'i8')]))

print(arr)
# array([('a', 0), ('b', 1)], 
#      dtype=[('keys', '|S1'), ('data', '<i8')])</code>

Dengan menggunakan tatasusunan rekod atau berstruktur bergantung pada keperluan khusus anda, anda boleh menyimpan berbilang jenis data dengan berkesan dalam satu NumPy tatasusunan sambil mengekalkan djenis asalnya.

Atas ialah kandungan terperinci Bagaimana untuk Menyimpan Berbilang Jenis Data dalam Tatasusunan NumPy Tunggal dengan Jenis Data Asal yang Dipelihara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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