Python NumPyのnp.hypot()メソッドで直角三角形の斜辺(hypotenuse)を求める方法
直角三角形の斜辺(hypotenuse)を求めるには、PythonのNumPyが提供する numpy.hypot() メソッドを使用します。このメソッドは、直角三角形の斜辺を返します。引数 x1 と x2 がどちらもスカラーの場合、結果もスカラーとして返されます。
np.hypot() は、要素ごとに sqrt(x1**2 + x2**2) を計算するのと同等の処理を行います。x1 または x2 のいずれかがスカラーのような値である場合、もう一方の引数の各要素に対してブロードキャストされます。引数には直角三角形の脚(隣辺・対辺)を指定します。x1.shape != x2.shape の場合でも、共通の形状にブロードキャスト可能であれば計算できます。
手順
まず、必要なライブラリをインポートします。
import numpy as np
整数要素を持つ配列を作成します。
arr = np.ones((3, 3), dtype=int)
作成した配列を表示します。
print("Array...\n", arr)配列のデータ型を確認します。
print("\nArray datatype...\n", arr.dtype)配列の次元数を取得します。
print("\nArray Dimensions...\n", arr.ndim)配列の要素数を取得します。
print("\nNumber of elements in the Array...\n", arr.size)斜辺を計算して表示します。
print("\nHypotenuse..\n", np.hypot((3*arr), (4*arr)))サンプルコード
import numpy as np
# 斜辺を求めるには、Python Numpyの numpy.hypot() メソッドを使用します。
# このメソッドは三角形の斜辺を返します。x1とx2が両方スカラーの場合、結果はスカラーになります。
# このメソッドは sqrt(x1**2 + x2**2) を要素ごとに計算するのと同等です。
# x1またはx2がスカラーの場合、もう一方の引数の各要素に対してブロードキャストされます。
# 引数には三角形の脚を指定します。形状が異なる場合はブロードキャスト可能である必要があります。
# 整数要素を持つ配列を作成
arr = np.ones((3, 3), dtype=int)
# 配列を表示
print("Array...\n", arr)
# 配列のデータ型を表示
print("\nOur Array type...\n", arr.dtype)
# 配列の次元数を表示
print("\nOur Array Dimensions...\n", arr.ndim)
# 配列の要素数を表示
print("\nNumber of elements...\n", arr.size)
# 斜辺を計算
print("\nHypotenuse..\n", np.hypot((3*arr), (4*arr)))実行結果
Array... [[1 1 1] [1 1 1] [1 1 1]] Our Array type... int64 Our Array Dimensions... 2 Number of elements... 9 Hypotenuse.. [[5. 5. 5.] [5. 5. 5.] [5. 5. 5.]]
この例では、3×3の配列に対して脚の長さ3と4を与えているため、三平方の定理(ピタゴラスの定理)により、すべての要素の斜辺が5と計算されていることがわかります。
-
Pythonで文字列の先頭から数値プレフィックスを取得する方法
文字列の先頭に数字が含まれている場合、その数値部分だけを取り出したいことがあります。本記事では、Pythonを使って文字列の先頭に付与された数値プレフィックスを抽出する3つの方法を、具体的なコード例とともに解説します。 isdigitとtakewhileを使う方法 isdigit関数は、文字列の各文字が数字かどうかを判定します。itertoolsモジュールのtakewhile関数と組み合わせることで、条件が真である間だけ要素を取り出せるため、文字列の先頭から連続する数字だけを効率的に結合・取得できます。 サンプルコード from itertools import takewhile #
-
Pythonで配列が単調(モノトニック)かどうかを判定する方法
この記事では、与えられた配列が「単調(モノトニック)」であるかどうかを判定するための考え方と実装方法について解説します。 問題の定義 n個の整数を含む配列 Arr が入力として与えられます。このとき、その配列が単調な性質を持っているかどうかを判定する必要があります。 配列が単調であるとは、要素が最初から最後まで連続して増加しているか、または連続して減少している状態を指します。つまり、増加と減少が混在していない配列が単調な配列です。 数学的な定義 配列 A が単調増加であるのは、すべての i <= j に対して次の条件が成り立つ場合です。 A[i] <= A[j] 同様に、配列 A