Diselesaikan: NumPy packbits Kod Tatasusunan yang dibungkus sepanjang paksi 1

NumPy ialah perpustakaan berkuasa dalam Python yang digunakan secara meluas untuk pengiraan berangka dalam struktur data tatasusunan dan matriks. Salah satu daripada banyak fungsi yang ditawarkannya ialah packbits, yang membolehkan anda mengekod data binari dengan cekap di sepanjang paksi yang ditentukan. Dalam artikel ini, kami akan meneroka penggunaan fungsi packbits NumPy di ​​sepanjang paksi 1, dan membincangkan teknik dan aplikasinya. Sepanjang perjalanan, kami juga akan menyelidiki perpustakaan dan fungsi yang berkaitan.

Memahami fungsi packbits NumPy

. packbits fungsi dalam NumPy ialah alat yang direka untuk memampatkan data binari dengan membungkus kumpulan bit bersama-sama. Ia amat berguna apabila bekerja dengan set data binari yang besar, kerana ia boleh mengurangkan penggunaan memori dan meningkatkan kecekapan kod anda. Fungsi ini beroperasi di sepanjang paksi tertentu, yang membolehkan anda mengawal arah di mana bit dibungkus.

import numpy as np

# Example binary data array
binary_data = np.array([[0, 1, 1, 0, 1, 1, 1, 1],
                        [1, 0, 0, 1, 0, 0, 0, 1]])

packed_data = np.packbits(binary_data, axis=1)
print(packed_data)

Kod di atas menunjukkan penggunaan fungsi packbits untuk membungkus data binari sepanjang paksi 1. Dengan menentukan paksi 1, kami mengarahkan NumPy untuk mengemas bit di sepanjang lajur tatasusunan input.

Penjelasan langkah demi langkah kod

1. Mula-mula, kami mengimport perpustakaan NumPy dengan alias "np":

import numpy as np

2. Seterusnya, kami mencipta contoh tatasusunan data binari 2D, di mana setiap elemen boleh menjadi 0 atau 1:

binary_data = np.array([[0, 1, 1, 0, 1, 1, 1, 1],
                        [1, 0, 0, 1, 0, 0, 0, 1]])

3. Kami kemudian memanggil fungsi packbits untuk membungkus data binari di sepanjang paksi 1:

packed_data = np.packbits(binary_data, axis=1)

4. Akhir sekali, kami mencetak tatasusunan data terbungkus yang terhasil:

print(packed_data)

Output kod ini akan menjadi tatasusunan 2D yang mengandungi data binari yang dibungkus:

[[179 241]
[137 17]]

Ini bermakna bahawa data binari asal telah dibungkus dengan cekap di sepanjang paksi yang ditentukan, membolehkan penggunaan memori dikurangkan dan peningkatan prestasi.

Fungsi yang sama dalam perpustakaan berkaitan

Selain packbits, terdapat juga fungsi dan perpustakaan lain yang menawarkan fungsi yang serupa. Beberapa contoh termasuk:

Pustaka binasci terbina dalam Python

. binasci perpustakaan adalah sebahagian daripada perpustakaan standard Python dan menyediakan kaedah untuk menukar antara perduaan dan pelbagai perwakilan binari berkod ASCII. Salah satu fungsi yang ditawarkannya ialah hexlify, yang boleh digunakan untuk menukar data binari kepada perwakilan rentetan heksadesimal.

import binascii

binary_data = b'x00x01x01x00'
hex_data = binascii.hexlify(binary_data)
print(hex_data)

Dalam contoh ini, fungsi binasci.hexlify digunakan untuk menukar objek bait yang mengandungi data binari kepada perwakilan rentetan heksadesimal.

perpustakaan bitarray

Perpustakaan lain yang boleh berguna untuk bekerja dengan data binari ialah bitarray perpustakaan. Pustaka ini menyediakan struktur data tatasusunan bit yang cekap yang boleh digunakan untuk memanipulasi dan menyimpan jujukan bit yang besar.

from bitarray import bitarray

binary_data = '01101111 10010001'
bit_array = bitarray(binary_data)
packed_data = bit_array.tobytes()
print(packed_data)

Dalam contoh ini, kami mencipta objek bitara daripada rentetan binari dan kemudian menggunakan kaedah tobytes untuk mendapatkan data yang dibungkus sebagai objek bait.

Kesimpulannya, fungsi packbits NumPy ialah alat yang berharga untuk pengekodan data binari di sepanjang paksi tertentu, akhirnya menjadikan kod anda lebih cekap dan menjimatkan memori. Selain itu, terdapat perpustakaan dan fungsi lain, seperti perpustakaan binascii dan perpustakaan bitarray, yang juga boleh membantu anda bekerja dengan data binari.

Related posts:

Tinggalkan komen