
- NumPy 教程
- NumPy - 首頁
- NumPy - 簡介
- NumPy - 環境配置
- NumPy 陣列
- NumPy - Ndarray 物件
- NumPy - 資料型別
- NumPy 陣列的建立和操作
- NumPy - 陣列建立例程
- NumPy - 陣列操作
- NumPy - 從現有資料建立陣列
- NumPy - 從數值範圍建立陣列
- NumPy - 陣列迭代
- NumPy - 陣列重塑
- NumPy - 陣列連線
- NumPy - 陣列堆疊
- NumPy - 陣列分割
- NumPy - 陣列扁平化
- NumPy - 陣列轉置
- NumPy 索引和切片
- NumPy - 索引和切片
- NumPy - 高階索引
- NumPy 陣列屬性和操作
- NumPy - 陣列屬性
- NumPy - 陣列形狀
- NumPy - 陣列大小
- NumPy - 陣列步長
- NumPy - 陣列元素大小
- NumPy - 廣播
- NumPy - 算術運算
- NumPy - 陣列加法
- NumPy - 陣列減法
- NumPy - 陣列乘法
- NumPy - 陣列除法
- NumPy 高階陣列操作
- NumPy - 交換陣列的軸
- NumPy - 位元組交換
- NumPy - 複製和檢視
- NumPy - 元素級陣列比較
- NumPy - 陣列過濾
- NumPy - 陣列連線
- NumPy - 排序、搜尋和計數函式
- NumPy - 陣列搜尋
- NumPy - 陣列的並集
- NumPy - 查詢唯一行
- NumPy - 建立日期時間陣列
- NumPy - 二元運算子
- NumPy - 字串函式
- NumPy - 數學函式
- NumPy - 統計函式
- NumPy - 矩陣庫
- NumPy - 線性代數
- NumPy - Matplotlib
- NumPy - 使用 Matplotlib 繪製直方圖
- NumPy - NumPy 的 I/O 操作
- NumPy 排序和高階操作
- NumPy - 陣列排序
- NumPy - 沿軸排序
- NumPy - 使用花式索引排序
- NumPy - 結構化陣列
- NumPy - 建立結構化陣列
- NumPy - 操作結構化陣列
- NumPy - 欄位訪問
- NumPy - 記錄陣列
- NumPy - 載入陣列
- NumPy - 儲存陣列
- NumPy - 向陣列追加值
- NumPy - 交換陣列的列
- NumPy - 向陣列插入軸
- NumPy 處理缺失資料
- NumPy - 處理缺失資料
- NumPy - 識別缺失值
- NumPy - 刪除缺失資料
- NumPy - 估算缺失資料
- NumPy 效能最佳化
- NumPy - 使用陣列進行效能最佳化
- NumPy - 使用陣列進行向量化
- NumPy - 陣列的記憶體佈局
- NumPy 線性代數
- NumPy - 線性代數
- NumPy - 矩陣庫
- NumPy - 矩陣加法
- NumPy - 矩陣減法
- NumPy - 矩陣乘法
- NumPy - 元素級矩陣運算
- NumPy - 點積
- NumPy - 矩陣求逆
- NumPy - 行列式計算
- NumPy - 特徵值
- NumPy - 特徵向量
- NumPy - 奇異值分解
- NumPy - 求解線性方程
- NumPy - 矩陣範數
- NumPy 元素級矩陣運算
- NumPy - 求和
- NumPy - 平均值
- NumPy - 中位數
- NumPy - 最小值
- NumPy - 最大值
- NumPy 集合運算
- NumPy - 唯一元素
- NumPy - 交集
- NumPy - 並集
- NumPy - 差集
- NumPy 有用資源
- NumPy 編譯器
- NumPy - 快速指南
- NumPy - 有用資源
- NumPy - 討論
NumPy unpackbits() 函式
NumPy 的unpackbits()函式用於將uint8陣列的元素解包到一個二值輸出陣列中。它將輸入陣列中的每個位元組(8位)轉換為其對應的二進位制表示,從而生成一個位數組。
此函式可用於將打包的二進位制資料擴充套件回位級表示。解包過程可以在指定的軸上執行,並且位順序可以預設為“big”或透過確定最高有效位或最低有效位是否排在前面來設定為“little”端序。
語法
以下是 NumPy unpackbits() 函式的語法:
numpy.unpackbits(a, /, axis=None, count=None, bitorder='big')
引數
以下是 NumPy unpackbits() 函式的引數:
- a (array_like): 型別為 uint8 的輸入陣列。
- axis (int, 可選): 解包位的軸。如果為 None,則在解包之前將輸入陣列展平。
- count (int 或 None, 可選): 要解包的位數。必須是 8 的倍數。如果為 None,則解包所有位。
- bitorder ({'big', 'little'}, 可選): 打包表示中位的順序。“big”表示最高有效位在前,“little”表示最低有效位在前。預設值為“big”。
返回值
此函式返回一個數組,其中每個元素都被解包成其組成位。返回的陣列的 dtype 為 uint8。
示例 1
以下是 NumPy unpackbits() 函式的基本示例,其中將打包的二進位制資料(即位元組)轉換為位陣列,這對於位級運算或分析很有用:
import numpy as np # Define a 1D array of uint8 values (bytes) byte_array = np.array([0b10101010, 0b11001100], dtype=np.uint8) # Unpack the bytes into individual bits unpacked_array = np.unpackbits(byte_array) print("Original byte array:", byte_array) print("Unpacked array of bits:", unpacked_array)
以下是 unpackbits() 函式的輸出:
Original byte array: [170 204] Unpacked array of bits: [1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0]
示例 2
我們可以使用 unpackbits() 將 uint8 值的二維陣列沿最後一個軸解包成單個位。以下示例顯示了沿軸解包二維陣列:
import numpy as np # Define a 2D array of uint8 values (bytes) byte_array_2d = np.array([[0b10101010, 0b11001100], [0b11110000, 0b00001111]], dtype=np.uint8) # Unpack the bytes into individual bits along the last axis (axis=1) unpacked_array = np.unpackbits(byte_array_2d, axis=1) print("Original 2D byte array:") print(byte_array_2d) print("\nUnpacked array of bits along the last axis:") print(unpacked_array)
以下是上述示例的輸出:
Original 2D byte array: [[170 204] [240 15]] Unpacked array of bits along the last axis: [[1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0] [1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1]]
numpy_binary_operators.htm
廣告