single
基本的な数学演算
メニューを表示するにはスワイプしてください
ブロードキャスティングの概念に慣れたところで、NumPyにおける基本的な数学演算について説明します。
スカラー演算
ブロードキャスティングにより、互換性のある形状の2つの配列間、または配列とスカラーとの間で数学演算を実行できます。
1234567891011import numpy as np array = np.array([1, 2, 3, 4]) # Scalar addition result_add_scalar = array + 2 print(f'Scalar addition: {result_add_scalar}') # Scalar multiplication result_mul_scalar = array * 3 print(f'Scalar multiplication: {result_mul_scalar}') # Raising an array to a scalar power result_power_scalar = array ** 3 print(f'Scalar exponentiation: {result_power_scalar}')
ご覧のとおり、各演算は配列に対して要素ごとに実行されます。実際には、スカラー値が元のarrayと同じ形状の配列にブロードキャストされ、すべての要素が同じ値になります。そのため、2つの配列の対応する各要素のペアに対して演算が行われます。
2つの配列間の演算
2つの配列の形状が互換性がある場合、必要に応じてブロードキャストが行われ、再び要素ごとに演算が実行されます:
123456789101112import numpy as np arr1 = np.array([1, 2, 3, 4]) arr2 = np.array([5, 6, 7, 8]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation: {result_power}')
除算、減算、その他の算術演算も同様の方法で動作。次の例では、2番目(右側)の配列がブロードキャストされる。
123456789101112import numpy as np arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([5, 6, 7]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation:\n{result_power}')
arr_2 は、2行からなる2次元配列にブロードキャストされ、それぞれの行は [5, 6, 7] となる。
応用例
このような数学的演算は、機械学習や統計解析におけるスケーリング、正規化、データ変換などのタスクに不可欠です。データセットの結合、数値シミュレーションの実行、画像処理や信号処理でのフィルタ適用など、効率的な要素ごとの演算を可能にします。さらに、これらの演算は科学技術計算やデータ駆動型アプリケーションでも広く利用されています。
スワイプしてコーディングを開始
2021年および2022年の2つの製品の四半期売上データが、2つの2次元配列に保存されています。
sales_data_2021: 2021年の各製品の四半期売上(各行が特定の製品を表す)sales_data_2022: 2022年の各製品の四半期売上(各行が特定の製品を表す)
各製品ごとに**四半期ごとの売上成長率(パーセント)**を、次の式を用いて算出してください:
Revenue=S2021S2022−S2021∗100%解答
フィードバックありがとうございます!
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください