Riješeno: NumPy packbits Code Packed array duž osi 1

NumPy je moćna biblioteka u Pythonu koja se naširoko koristi za numeričke proračune u strukturama podataka nizova i matrica. Jedna od mnogih funkcija koje nudi je packbits, koji vam omogućuje učinkovito kodiranje binarnih podataka duž određene osi. U ovom ćemo članku istražiti upotrebu NumPy-jeve funkcije packbits duž osi 1 i raspravljati o njezinim tehnikama i primjenama. Usput ćemo također istražiti povezane biblioteke i funkcionalnosti.

Razumijevanje NumPy-jeve funkcije packbits

Korištenje električnih romobila ističe packbits funkcija u NumPyju je alat dizajniran za komprimiranje binarnih podataka pakiranjem grupa bitova zajedno. Osobito je koristan pri radu s velikim skupovima binarnih podataka, jer može uvelike smanjiti korištenje memorije i poboljšati učinkovitost vašeg koda. Ova funkcija radi duž određene osi, što vam omogućuje kontrolu smjera 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 pakiranje binarnih podataka duž osi 1. Određivanjem osi 1, naređujemo NumPy-ju da pakira bitove duž stupaca ulaznog polja.

Korak po korak objašnjenje koda

1. Prvo uvozimo biblioteku NumPy s pseudonimom "np":

import numpy as np

2. Zatim stvaramo primjer 2D niza binarnih 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 za pakiranje binarnih podataka duž osi 1:

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

4. Na kraju, ispisujemo rezultirajuće polje pakiranih podataka:

print(packed_data)

Izlaz ovog koda bit će 2D niz koji sadrži upakirane binarne podatke:

[[179 241]
[137 17]]

To znači da su izvorni binarni podaci učinkovito upakirani duž navedene osi, što omogućuje smanjenu upotrebu memorije i povećanu izvedbu.

Slične funkcije u povezanim bibliotekama

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

Pythonova ugrađena biblioteka binascii

Korištenje električnih romobila ističe binascii biblioteka je dio Python standardne biblioteke i pruža metode za pretvorbu između binarnih i raznih ASCII-kodiranih binarnih prikaza. Jedna od funkcija koje nudi je hekslificirati, koji se može koristiti za pretvaranje binarnih podataka u heksadecimalni prikaz niza.

import binascii

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

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

bitarray biblioteka

Još jedna biblioteka koja može biti korisna za rad s binarnim podacima je bitarray knjižnica. Ova biblioteka pruža učinkovitu strukturu podataka niza bitova koja se može koristiti za manipulaciju i pohranjivanje velikih nizova 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 stvaramo objekt bitarray iz binarnog niza, a zatim koristimo metodu tobytes da dobijemo zapakirane podatke kao objekt bytes.

Zaključno, NumPyjeva funkcija packbits vrijedan je alat za kodiranje binarnih podataka duž određene osi, što u konačnici čini vaš kod učinkovitijim i štedi memoriju. Osim toga, postoje druge biblioteke i funkcionalnosti, kao što su biblioteka binascii i biblioteka bitarray, koje vam također mogu pomoći u radu s binarnim podacima.

Povezani postovi:

Ostavite komentar