Rešeno: NumPy packbits Code Packed array vzdolž osi 1

NumPy je zmogljiva knjižnica v Pythonu, ki se pogosto uporablja za numerične izračune v matričnih in matričnih podatkovnih strukturah. Ena od številnih funkcij, ki jih ponuja, je packbits, ki vam omogoča učinkovito kodiranje binarnih podatkov vzdolž določene osi. V tem članku bomo raziskali uporabo funkcije NumPy packbits vzdolž osi 1 ter razpravljali o njenih tehnikah in aplikacijah. Ob tem se bomo poglobili tudi v povezane knjižnice in funkcionalnosti.

Razumevanje funkcije NumPy's packbits

O packbits funkcija v NumPy je orodje, zasnovano za stiskanje binarnih podatkov s pakiranjem skupin bitov skupaj. Še posebej je uporaben pri delu z velikimi nizi binarnih podatkov, saj lahko močno zmanjša porabo pomnilnika in izboljša učinkovitost vaše kode. Ta funkcija deluje vzdolž določene osi, kar vam omogoča nadzor smeri pakiranja bitov.

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)

Zgornja koda prikazuje uporabo funkcije packbits za pakiranje binarnih podatkov vzdolž osi 1. Z določitvijo osi 1 ukažemo NumPy, naj zapakira bite vzdolž stolpcev vhodne matrike.

Razlaga kode po korakih

1. Najprej uvozimo knjižnico NumPy z vzdevkom »np«:

import numpy as np

2. Nato ustvarimo primer dvodimenzionalne matrike binarnih podatkov, kjer je lahko vsak element 2 ali 0:

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

3. Nato pokličemo funkcijo packbits za pakiranje binarnih podatkov vzdolž osi 1:

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

4. Na koncu natisnemo nastalo matriko pakiranih podatkov:

print(packed_data)

Izhod te kode bo 2D matrika, ki vsebuje pakirane binarne podatke:

[[179 241]
[137 17]]

To pomeni, da so izvirni binarni podatki učinkovito zapakirani vzdolž podane osi, kar omogoča manjšo porabo pomnilnika in večjo zmogljivost.

Podobne funkcije v povezanih knjižnicah

Poleg packbitov obstajajo tudi druge funkcije in knjižnice, ki ponujajo podobne funkcionalnosti. Nekaj ​​primerov vključuje:

Pythonova vgrajena knjižnica binascii

O binascii je del Pythonove standardne knjižnice in ponuja metode za pretvorbo med binarnimi in različnimi ASCII-kodiranimi binarnimi predstavitvami. Ena od funkcij, ki jih ponuja, je hekslifirati, ki se lahko uporablja za pretvorbo binarnih podatkov v šestnajstiško predstavitev niza.

import binascii

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

V tem primeru se funkcija binascii.hexlify uporablja za pretvorbo objekta bytes, ki vsebuje binarne podatke, v šestnajstiško predstavitev niza.

knjižnica bitarray

Druga knjižnica, ki je lahko uporabna za delo z binarnimi podatki, je bitarray knjižnica. Ta knjižnica zagotavlja učinkovito podatkovno strukturo bitnega niza, ki se lahko uporablja za manipulacijo in shranjevanje velikih bitnih zaporedij.

from bitarray import bitarray

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

V tem primeru iz binarnega niza ustvarimo objekt bitarray in nato z metodo tobytes pridobimo pakirane podatke kot objekt bytes.

Skratka, funkcija NumPy's packbits je dragoceno orodje za kodiranje binarnih podatkov vzdolž določene osi, s čimer na koncu postane vaša koda učinkovitejša in prihrani pomnilnik. Poleg tega obstajajo druge knjižnice in funkcije, kot sta knjižnica binascii in knjižnica bitarray, ki vam lahko prav tako pomagajo pri delu z binarnimi podatki.

Podobni objav:

Pustite komentar