
- 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 左移() 函式
NumPy 的left_shift()函式用於對陣列元素執行按位左移運算。
當給出兩個陣列或一個數組和一個標量時,它會將第一個陣列中每個元素的位向左移動第二個陣列或標量中指定的位數。結果相當於將陣列元素乘以 2**shift。
- 此函式透過允許對不同形狀的陣列進行運算來支援廣播。它在低階資料操作(如二進位制編碼、影像處理和需要精確位控制的操作)中很有用。
- 在按位運算的上下文中,負移位值通常與右移運算一起使用,其中位向右移動。
- 在左移運算中,負值沒有有意義的解釋,行為可能不一致或未定義。
語法
以下是 NumPy left_shift() 函式的語法:
numpy.left_shift(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature])
引數
以下是 NumPy left_shift() 函式的引數:
- x1(array_like): 對其執行左移運算的輸入陣列。
- x2(array_like 或 int): 將 x1 的每個元素左移的位數。它可以是單個整數或與 x1 形狀相同的陣列。
- out(可選): 這是儲存結果的可選輸出陣列。
- where(可選): 用於確定應執行移位運算的位置的條件。在此條件為 True 的情況下計算結果。
- **kwargs: 引數 casting、order、dtype、subok 屬於附加關鍵字引數。
返回值
該函式返回一個數組,其中每個元素都是左移原始陣列對應位的位的結果。
示例 1
以下是 NumPy left_shift() 函式的基本示例,其中陣列的單個整數被左移:
import numpy as np # Shift the bits of the integer 5 to the left by 1 position result = np.left_shift(5, 1) print(result)
以下是 left_shift() 函式的輸出:
10
示例 2
我們可以透過將每個元素的位向左移動指定的位數來對陣列的所有元素執行統一的標量移位。在此示例中,我們將陣列左移 3 位:
import numpy as np # Define an array of integers array = np.array([5, 10, 15, 20]) # Define the scalar shift value shift = 3 # Perform the left shift operation result = np.left_shift(array, shift) print("Original array:", array) print("Shifted array:", result)
以下是上述示例的輸出:
Original array: [ 5 10 15 20] Shifted array: [ 40 80 120 160]
示例 3
以下示例對數字 10 執行左移兩位,並顯示結果,包括原始值和移位值的二進位制表示:
import numpy as np print('Left shift of 10 by two positions:') print(np.left_shift(10, 2)) print('Binary representation of 10:') print(np.binary_repr(10, width=8)) print('Binary representation of 40:') print(np.binary_repr(40, width=8))
以下是上述示例的輸出:
Left shift of 10 by two positions: 40 Binary representation of 10: 00001010 Binary representation of 40: 00101000
示例 2
在此示例中,left_shift() 不會以標準方式處理負移位,並且左移的結果可能與預期不符。相反,結果通常沒有意義,並且可能預設為與在此示例中看到的值相同的值:
import numpy as np # Define an array of integers array = np.array([16, 32, 64, 128]) # Define the array of shift values, including negative values shifts = np.array([-1, -2, -3, -4]) # Perform the left shift operation result = np.left_shift(array, shifts) print('Original array:', array) print('Shift values:', shifts) print('Shifted array:', result)
以下是上述示例的輸出:
Original array: [ 16 32 64 128] Shift values: [-1 -2 -3 -4] Shifted array: [0 0 0 0]
numpy_binary_operators.htm
廣告