Вирішено: NumPy packbits Code Packed array уздовж осі 1

NumPy — це потужна бібліотека на Python, яка широко використовується для числових обчислень у масивах і матричних структурах даних. Однією з багатьох функцій, які він пропонує, є packbits, що дозволяє ефективно кодувати двійкові дані вздовж заданої осі. У цій статті ми розглянемо використання функції NumPy packbits уздовж осі 1 і обговоримо її методи та застосування. Попутно ми також розглянемо пов’язані бібліотеки та функції.

Розуміння функції packbits NumPy

Команда packbits функція в NumPy — це інструмент, призначений для стиснення двійкових даних шляхом упаковки груп бітів разом. Це особливо корисно під час роботи з великими наборами двійкових даних, оскільки це може значно зменшити використання пам’яті та підвищити ефективність вашого коду. Ця функція працює вздовж заданої осі, що дозволяє контролювати напрямок упаковки бітів.

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)

Наведений вище код демонструє використання функції packbits для упаковки двійкових даних вздовж осі 1. Вказуючи вісь 1, ми наказуємо NumPy упаковувати біти вздовж стовпців вхідного масиву.

Покрокове пояснення коду

1. Спочатку ми імпортуємо бібліотеку NumPy з псевдонімом «np»:

import numpy as np

2. Далі ми створюємо приклад 2D двійкового масиву даних, де кожен елемент може бути 0 або 1:

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

3. Потім ми викликаємо функцію packbits, щоб упакувати двійкові дані вздовж осі 1:

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

4. Нарешті, ми друкуємо отриманий масив упакованих даних:

print(packed_data)

Результатом цього коду буде двовимірний масив, що містить упаковані двійкові дані:

[[179 241]
[137 17]]

Це означає, що вихідні двійкові дані були ефективно упаковані вздовж вказаної осі, що дозволяє зменшити використання пам’яті та підвищити продуктивність.

Подібні функції у пов’язаних бібліотеках

Окрім пакбітів, існують також інші функції та бібліотеки, які пропонують подібні функції. Ось кілька прикладів:

Вбудована бібліотека binascii Python

Команда binascii бібліотека є частиною стандартної бібліотеки Python і надає методи для перетворення між двійковими та різними двійковими представленнями, закодованими в ASCII. Однією з функцій, які він пропонує, є hexlify, який можна використовувати для перетворення двійкових даних у шістнадцяткове представлення рядків.

import binascii

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

У цьому прикладі функція binascii.hexlify використовується для перетворення об’єкта bytes, що містить двійкові дані, у шістнадцяткове представлення рядка.

бібліотека бітових масивів

Ще одна бібліотека, яка може бути корисною для роботи з двійковими даними, це бітаррей бібліотека. Ця бібліотека забезпечує ефективну структуру даних бітового масиву, яку можна використовувати для маніпулювання та зберігання великих бітових послідовностей.

from bitarray import bitarray

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

У цьому прикладі ми створюємо об’єкт бітового масиву з двійкового рядка, а потім використовуємо метод tobytes, щоб отримати упаковані дані як об’єкт bytes.

Підсумовуючи, функція packbits NumPy є цінним інструментом для кодування двійкових даних уздовж заданої осі, що зрештою робить ваш код більш ефективним і економить пам’ять. Крім того, існують інші бібліотеки та функції, такі як бібліотека binascii та бібліотека bitarray, які також можуть допомогти вам у роботі з двійковими даними.

Схожі повідомлення:

Залишити коментар