NumPy の左シフト関数

Beginner

はじめに

left_shift() 関数は、NumPy ライブラリの二項演算であり、整数のビットに対して左シフト演算を行います。このチュートリアルでは、left_shift() 関数の基本的な構文、パラメータ、および返される値について説明します。また、関数の使用例もいくつか紹介します。

VM のヒント

VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。

Jupyter Notebook の読み込みには数秒かかる場合があります。Jupyter Notebook の制限により、操作の検証は自動化できません。

学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

NumPy ライブラリをインポートする

まず、left_shift() 関数を使用するために NumPy ライブラリをインポートする必要があります。

import numpy as np

単一の値に対して left_shift() を使用する

left_shift() 関数は、単一の整数値のビットを指定されたビット数だけ左にシフトするために使用されます。以下は例です:

input_num = 40
bit_shift = 2

output = np.left_shift(input_num, bit_shift)

print(f"左に {bit_shift} ビットシフトした後の値は:{output}")

出力:

左に 2 ビットシフトした後の値は: 160

値の配列に対して left_shift() を使用する

left_shift() 関数は、整数値の配列に対しても使用できます。この場合、関数は配列の各要素に対して左シフト演算を行います。以下は例です:

input_arr = np.array([2, 8, 10])
bit_shift = np.array([3, 4, 5])

output = np.left_shift(input_arr, bit_shift)

print(f"左にビットをシフトした後の配列は:\n{output}")

出力:

左にビットをシフトした後の配列は:
[ 16 128 320]

left_shift() 関数は、両方の配列の各要素に左シフト演算を適用しました。

出力配列を指定する

左シフト演算の結果を格納するために出力配列を指定することができます。出力配列を提供すると、関数は新しい配列を割り当てる代わりにその配列を更新します。出力配列は、入力配列と同じ形状にブロードキャスト可能でなければなりません。以下は例です:

input_arr = np.array([2, 8, 10])
bit_shift = np.array([3, 4, 5])

output = np.zeros_like(input_arr, dtype=np.int64)

np.left_shift(input_arr, bit_shift, out=output)

print(f"左にビットをシフトした後の出力配列は:\n{output}")

出力:

左にビットをシフトした後の出力配列は:
[ 16 128 320]

出力に対する条件を指定する

また、出力配列の値を設定するために where パラメータに条件を指定することもできます。where パラメータは、入力配列にブロードキャスト可能なブール型配列です。以下は例です:

input_arr = np.array([2, 8, 10])
bit_shift = np.array([3, 4, 5])

output = np.zeros_like(input_arr, dtype=np.int64)
condition = np.array([True, False, True])

np.left_shift(input_arr, bit_shift, out=output, where=condition)

print(f"左にビットをシフトした後の出力配列は:\n{output}")

出力:

左にビットをシフトした後の出力配列は:
[ 16   8 320]

where パラメータは、指定した条件に基づいて出力配列の最初と 3 番目の要素を設定しました。

まとめ

このチュートリアルでは、NumPy ライブラリの left_shift() 関数の概要を説明しました。基本的な構文とパラメータを説明し、この関数が返す値を示しました。また、単一の値と値の配列に対してこの関数を使用する方法と、出力配列と出力条件を指定する方法のコード例も示しました。