Yakagadziriswa: NumPy packbits Code Yakarongedzwa mutsara pamwe neaxis 1

NumPy iraibhurari ine simba muPython iyo inoshandiswa zvakanyanya pakuverenga nhamba muhurongwa uye matrix data zvimiro. Imwe yemabasa mazhinji ainopa ndeye packbits, iyo inokubvumira kuti uvhare bhinari data zvinobudirira pamwe chete neaxis yakatarwa. Muchikamu chino, tichaongorora kushandiswa kweNumPy's packbits basa pamwe neaxis 1, uye tokurukura maitiro ayo nemashandisirwo. Tiri munzira, isu tichaongorora zvakare mumaraibhurari ane hukama uye zvinoshanda.

Kunzwisisa NumPy's packbits basa

The packbits basa muNumPy chishandiso chakagadzirirwa kumanikidza bhinari data nekurongedza mapoka emabhiti pamwechete. Inonyanya kukosha paunenge uchishanda nemaseti makuru ebhinari data, sezvo inogona kuderedza zvakanyanya kushandiswa kwekuyeuka nekuvandudza kushanda kwekodhi yako. Iri basa rinoshanda pamwe chete neaxis yakatsanangurwa, iyo inokubvumira kuti udzore nzira iyo mabhiti akazara.

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)

Kodhi iri pamusoro inoratidza kushandiswa kwepackbits basa kurongedza data yebhinari pamwe chete neaxis 1. Nekutsanangura axis 1, tiri kurayira NumPy kurongedza mabhiti pamwe chete nemakoramu ezvinyorwa zvekupinza.

Nhanho-nhanho tsananguro yekodhi

1. Chekutanga, tinopinza raibhurari yeNumPy ine zita rekuti “np”:

import numpy as np

2. Zvadaro, tinogadzira muenzaniso 2D binary data array, apo chinhu chimwe nechimwe chinogona kuva 0 kana 1:

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

3. Isu tinodaidza iyo packbits basa kurongedza iyo binary data pamwe neaxis 1:

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

4. Pakupedzisira, tinodhinda iyo inoguma yakazara data array:

print(packed_data)

Kubuda kwekodhi iyi kuchave 2D array ine yakarongedzwa binary data:

[[179]
[137 17]

Izvi zvinoreva kuti iyo yekutanga bhinari data yakarongedzerwa zvakanaka padivi peiyo axis yakatsanangurwa, ichibvumira kuderedzwa kwekushandiswa kwendangariro uye kuwedzera kuita.

Mabasa akafanana mumaraibhurari ane hukama

Beyond packbits, kune zvakare mamwe mabasa uye maraibhurari anopa zvakafanana zvinoshanda. Mienzaniso mishoma inosanganisira:

Python's yakavakirwa-mukati binascii raibhurari

The binascii raibhurari chikamu chePython's standard library uye inopa nzira dzekushandura pakati pemabhinari uye akasiyana ASCII-encoded mabhinari anomiririra. Imwe yemabasa ainopa ndeye hexify, iyo inogona kushandiswa kushandura binary data kuita hexadecimal tambo inomiririra.

import binascii

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

Mumuenzaniso uyu, iyo binascii.hexlify basa rinoshandiswa kushandura chinhu chebhaiti chine data yebhinari kuita hexadecimal tambo inomiririra.

bitarray library

Imwe raibhurari inogona kubatsira pakushanda nemabhinari data ndeye bitrayray library. Raibhurari iyi inopa inoshanda dhit array data chimiro chinogona kushandiswa kushandura uye kuchengetedza hombe bit sequences.

from bitarray import bitarray

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

Mumuenzaniso uyu, tinogadzira chinhu chinonzi bittarray kubva pabhinari tambo uye toshandisa nzira ye tobytes kuwana data rakazara sechinhu chebytes.

Mukupedzisa, NumPy's packbits basa chishandiso chakakosha chekukodha bhinari data pamwe neaxis yakatsanangurwa, pakupedzisira ichiita kuti kodhi yako ishande uye kuchengetedza ndangariro. Pamusoro pezvo, kune mamwe maraibhurari uye zvinoshanda, senge binascii raibhurari uye bitarray raibhurari, iyo inogona zvakare kukubatsira mukushanda nebhinari data.

Related posts:

Leave a Comment