Rešeno: NumPy packbits Code Packed niz duž ose 1

NumPy je moćna biblioteka u Pythonu koja se široko koristi za numerička izračunavanja u nizovima i matričnim strukturama podataka. Jedna od mnogih funkcija koje nudi je packbits, koji vam omogućava da efikasno kodirate binarne podatke duž određene ose. U ovom članku ćemo istražiti upotrebu NumPy-jeve packbits funkcije duž ose 1, te razmotriti njene tehnike i primjene. Usput ćemo se baviti i povezanim bibliotekama i funkcionalnostima.

Razumijevanje NumPy-jeve packbits funkcije

The packbits funkcija u NumPy je alat dizajniran za komprimiranje binarnih podataka pakovanjem grupa bitova zajedno. Posebno je korisno kada radite sa velikim skupovima binarnih podataka, jer može uvelike smanjiti upotrebu memorije i poboljšati efikasnost vašeg koda. Ova funkcija radi duž određene ose, što vam omogućava da kontrolirate smjer u kojem su bitovi pakirani.

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)

Gornji kod pokazuje upotrebu funkcije packbits za pakovanje binarnih podataka duž ose 1. Specificiranjem ose 1, nalažemo NumPy-u da pakuje bitove duž kolona ulaznog niza.

Korak po korak objašnjenje koda

1. Prvo uvozimo NumPy biblioteku sa pseudonimom “np”:

import numpy as np

2. Zatim kreiramo primjer 2D binarnog niza podataka, gdje svaki element može biti 0 ili 1:

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

3. Zatim pozivamo funkciju packbits da spakujemo binarne podatke duž ose 1:

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

4. Konačno, ispisujemo rezultirajući niz upakovanih podataka:

print(packed_data)

Izlaz ovog koda će biti 2D niz koji sadrži upakovane binarne podatke:

[[179 241]
[137 17]]

To znači da su originalni binarni podaci efikasno spakovani duž određene ose, omogućavajući smanjenu upotrebu memorije i povećane performanse.

Slične funkcije u srodnim bibliotekama

Osim packbitova, postoje i druge funkcije i biblioteke koje nude slične funkcionalnosti. Nekoliko primjera uključuje:

Pythonova ugrađena binascii biblioteka

The binascii biblioteka je dio Python-ove standardne biblioteke i pruža metode za pretvaranje između binarnih i različitih ASCII kodiranih binarnih reprezentacija. Jedna od funkcija koje nudi je hexlify, koji se može koristiti za pretvaranje binarnih podataka u heksadecimalni nizni prikaz.

import binascii

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

U ovom primjeru, funkcija binascii.hexlify se koristi za pretvaranje bajtova objekta koji sadrži binarne podatke u heksadecimalni nizni prikaz.

bitarray biblioteka

Još jedna biblioteka koja može biti korisna za rad sa binarnim podacima je bitarray biblioteka. Ova biblioteka pruža efikasnu strukturu podataka niza bitova koja se može koristiti za manipulaciju i pohranjivanje velikih sekvenci bitova.

from bitarray import bitarray

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

U ovom primjeru kreiramo bitarray objekt iz binarnog niza, a zatim koristimo metodu tobytes da dobijemo upakovane podatke kao bajt objekt.

U zaključku, NumPy-jeva funkcija packbits je vrijedan alat za kodiranje binarnih podataka duž određene ose, što na kraju čini vaš kod efikasnijim i štedi memoriju. Pored toga, postoje i druge biblioteke i funkcionalnosti, kao što su binascii biblioteka i bitarray biblioteka, koje vam takođe mogu pomoći u radu sa binarnim podacima.

Slični postovi:

Ostavite komentar