Lahendatud: NumPy packbits Code Pakitud massiiv piki 1. telge

NumPy on Pythoni võimas teek, mida kasutatakse laialdaselt massiivi- ja maatriksandmestruktuuride arvulisteks arvutusteks. Üks paljudest selle pakutavatest funktsioonidest on pakendibitid, mis võimaldab binaarandmeid tõhusalt kodeerida mööda määratud telge. Selles artiklis uurime NumPy pakibittide funktsiooni kasutamist piki 1. telge ning arutame selle tehnikaid ja rakendusi. Teel süveneme ka seotud teekidesse ja funktsionaalsustesse.

NumPy pakibittide funktsiooni mõistmine

. pakendibitid NumPy funktsioon on tööriist, mis on loodud binaarandmete tihendamiseks bitirühmade kokkupakkimise teel. See on eriti kasulik suurte binaarandmete kogumitega töötamisel, kuna see võib oluliselt vähendada mälukasutust ja parandada teie koodi tõhusust. See funktsioon töötab mööda määratud telge, mis võimaldab teil juhtida bittide pakimise suunda.

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)

Ülaltoodud kood demonstreerib funktsiooni packbits kasutamist binaarandmete pakkimiseks piki 1. telge. 1. telje määramisega anname NumPyle käsu pakkida bitid piki sisendmassiivi veerge.

Koodi samm-sammult selgitus

1. Esiteks impordime NumPy teegi varjunimega “np”:

import numpy as np

2. Järgmiseks loome 2D-binaarandmete massiivi näite, kus iga element võib olla 0 või 1:

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

3. Seejärel kutsume funktsiooni packbits, et pakkida binaarandmed piki 1. telge:

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

4. Lõpuks prindime saadud pakitud andmemassiivi:

print(packed_data)

Selle koodi väljundiks on 2D massiiv, mis sisaldab pakitud binaarandmeid:

[[179 241]
[137 17]]

See tähendab, et algsed binaarandmed on tõhusalt pakitud mööda määratud telge, mis võimaldab vähendada mälukasutust ja suurendada jõudlust.

Sarnased funktsioonid seotud teekides

Lisaks pakettbittidele on ka muid funktsioone ja teeke, mis pakuvad sarnaseid funktsioone. Mõned näited hõlmavad järgmist:

Pythoni sisseehitatud binascii teek

. binascii teek on osa Pythoni standardteegist ja pakub meetodeid binaarsete ja erinevate ASCII-kodeeritud binaarsete esituste vahel teisendamiseks. Üks selle pakutavatest funktsioonidest on kuuekordseks muutma, mida saab kasutada binaarandmete teisendamiseks kuueteistkümnendsüsteemi stringi esituseks.

import binascii

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

Selles näites kasutatakse funktsiooni binascii.hexlify binaarandmeid sisaldava baitide objekti teisendamiseks kuueteistkümnendsüsteemi stringi esituseks.

bitarray raamatukogu

Teine teek, mis võib olla kasulik binaarandmetega töötamiseks, on bitarray raamatukogu. See raamatukogu pakub tõhusat bitimassiivi andmestruktuuri, mida saab kasutada suurte bitijadadega manipuleerimiseks ja salvestamiseks.

from bitarray import bitarray

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

Selles näites loome binaarstringist bitarray-objekti ja kasutame seejärel pakitud andmete hankimiseks baitide objektina meetodit tobytes.

Kokkuvõtteks võib öelda, et NumPy pakibittide funktsioon on väärtuslik tööriist binaarandmete kodeerimiseks mööda määratud telge, muutes lõpuks teie koodi tõhusamaks ja säästes mälu. Lisaks on ka teisi teeke ja funktsioone, nagu binascii teek ja bitarray teek, mis võivad samuti aidata teil binaarandmetega töötada.

Seonduvad postitused:

Jäta kommentaar