-
Pythonで多項式を乗算する方法|numpy.polynomial.polymul()の使い方
Pythonで多項式同士を乗算するには、numpy.polynomial.polynomial.polymul()メソッドを使用します。このメソッドは、2つの多項式c1とc2の積(乗算結果)を返します。引数には、低次の項から高次の項へと並べた係数のシーケンスを指定します。例えば、[1,2,3]は「1 + 2*x + 3*x**2」という多項式を表します。戻り値は、乗算結果の多項式を表す係数配列です。パラメータc1およびc2は、「標準」基底における多項式を表す1次元の係数配列で、低次の項から高次の項の順に並べられている必要があります。なお、numpy.polynomial.polynomialモ
-
Python NumPyのfix()メソッドでゼロ方向に最も近い整数へ丸める方法
numpy.fix()メソッドとはPythonのNumPyライブラリでは、numpy.fix()メソッドを使用することで、ゼロ方向に最も近い整数へ丸めることができます。このメソッドは、浮動小数点数の配列を要素ごとにゼロ方向へ丸め、結果をfloat型(浮動小数点数)として返します。主なパラメータは以下の通りです。第1引数(x):丸め対象となる浮動小数点数の配列を指定します。第2引数(out):計算結果を格納する場所を指定します。指定する場合は、入力がブロードキャスト可能な形状である必要があります。省略した場合やNoneを指定した場合は、新しく確保された配列が返されます。戻り値は入力と同じ次元を持
-
【Python NumPy】np.char.count()で部分文字列の重複しない出現回数を配列として返す方法
PythonのNumPyでは、numpy.char.count()メソッドを使用することで、文字列配列の各要素に含まれる部分文字列の「重複しない出現回数」をカウントし、その結果を配列として返すことができます。第1引数には、検索対象となる部分文字列(sub)を指定します。なお、numpy.charモジュールは、numpy.str_型の配列に対してベクトル化された文字列操作を提供しており、ループ処理を書かずに効率的に文字列操作を行えるのが特徴です。実行手順1. 必要なライブラリをインポートするまず、必要なライブラリをインポートします。import numpy as np2. 1次元の文字列配列を作
-
Python NumPyのfinfo()メソッドでfloat型のマシン制限情報を取得する方法
float型のマシン制限情報(表現可能な最小値・最大値など)を取得するには、Python NumPyが提供する numpy.finfo() メソッドを使用します。第一引数には、情報を取得したいfloatデータ型の種類を指定します。手順まず、必要なライブラリをインポートします。import numpy as npfinfo() が返すオブジェクトのうち、min は指定したdtypeで表現できる最小値、max は最大値を表します。float16型の確認(インスタンスを使用)a = np.finfo(np.float16(12.5)) print(float16型の最小値...\n, a.min)
-
Python・NumPyで配列要素の双曲線余弦(ハイパボリックコサイン)を計算する方法
PythonのNumPyで配列要素の双曲線余弦(ハイパボリックコサイン)を計算するには、numpy.cosh()メソッドを使用します。このメソッドは 1/2 * (np.exp(x) + np.exp(-x)) および np.cos(1j*x) と数学的に等価であり、各要素に対応する双曲線余弦の値を返します。入力 x がスカラーの場合、結果もスカラーとして返されます。numpy.cosh() の主な引数第1引数の x は入力配列です。第2引数と第3引数は省略可能です。第2引数の out は、結果を格納するためのndarrayです。指定する場合は、入力がブロードキャストされる形状と一致している必
-
PythonでNaNをゼロとして扱い配列要素の累積和を返す方法(nancumsum)
指定した軸に沿って、NaN(非数)をゼロとして扱った配列要素の累積和(cumulative sum)を返すには、NumPyのnancumsum()メソッドを使用します。累積計算中にNaNに遭遇しても合計値は変化せず、先頭にあるNaNはゼロに置き換えられます。また、すべての要素がNaNであるスライスや空のスライスに対しては、ゼロが返されます。 このメソッドは、結果を格納した新しい配列を返します。ただし、out引数が指定された場合はその配列が返されます。結果は入力配列aと同じサイズを持ち、axisがNoneでない場合、またはaが1次元配列の場合は同じ形状になります。 累積和の動作イメージは「5 →
-
Pythonでスカラー値の最小データ型を見つける方法:NumPyのmin_scalar_type()活用ガイド
NumPyのnumpy.min_scalar_type()メソッドを使うと、指定した値を格納できる最小のデータ型を見つけることができます。第1引数には、最小データ型を調べたい値を渡します。 スカラー値が渡された場合、その値を保持できる中で最もサイズが小さく、最も小さいスカラーカインド(種類)のデータ型を返します。一方、非スカラーの配列が渡された場合は、ベクトルのdtypeがそのまま変更されずに返されます。また、浮動小数点値が整数に格下げされることはなく、複素数が浮動小数点数に格下げされることもありません。 実行手順 まず、必要なライブラリをインポートします。 import numpy as n
-
Python NumPyのdatetime_as_string()で日時の配列を文字列の配列に変換する方法
PythonのNumPyでは、numpy.datetime_as_string()メソッドを使用することで、datetime64型の日時の配列を文字列の配列に簡単に変換できます。このメソッドは、入力配列と同じ形状を持つ文字列の配列を返します。第1引数にはフォーマット対象となるUTCタイムスタンプの配列を渡し、unitパラメータで日時の単位(精度)を変更できます。ここでは例として「秒」を単位に指定しています。 実行手順 まず、必要なライブラリをインポートします。 import numpy as np 次に、日時の配列を作成します。dtypeの M8[m] は「分」単位のdatetime64型を表
-
Pythonのnumpy.deg2rad()を使って角度を度からラジアンに変換する方法
PythonのNumPyでは、numpy.deg2rad()メソッドを使用することで、度(デグリー)単位の配列をラジアンに変換できます。このメソッドは入力された角度に対応するラジアン値を返し、入力がスカラーであればスカラーを返します。第1引数には、度単位の入力角度を指定します。第2引数と第3引数は省略可能です。deg2rad()の主なパラメータ第2引数(out)はndarray型で、計算結果を格納する場所を指定します。指定する場合は、入力がブロードキャストされる形状と一致している必要があります。省略した場合やNoneを指定した場合は、新しく確保された配列が返されます。第3引数(where)は条
-
Python NumPyのsinh()メソッドで双曲線正弦(ハイパボリックサイン)を計算する方法
PythonのNumPyライブラリでは、numpy.sinh()メソッドを使用することで、双曲線正弦(ハイパボリックサイン、sinh)を簡単に計算できます。このメソッドは、数式上 1/2 * (np.exp(x) - np.exp(-x)) または -1j * np.sin(1j*x) と等価であり、入力値に対応する双曲線正弦の値を返します。引数 x がスカラーの場合、戻り値もスカラーになります。第1引数の x は入力配列です。第2引数と第3引数はオプション(省略可能)となっています。第2引数はndarray型で、計算結果を格納する場所を指定します。指定する場合は、入力がブロードキャストされる
-
Python(NumPy)で日時の配列を時間単位の文字列配列に変換する方法
PythonのNumPyで日時(datetime)の配列を文字列の配列に変換するには、numpy.datetime_as_string()メソッドを使用します。このメソッドは、入力配列と同じ形状の文字列配列を返します。第1引数には、フォーマット対象となるUTCタイムスタンプの配列を渡します。また、「units」パラメータで日時の単位を指定することで、出力される文字列の精度を変更できます。本記事では「時間(h)」単位を指定した例を紹介します。手順まず、必要なライブラリをインポートします。import numpy as np次に、日時の配列を作成します。dtypeの「M」はdatetime64型を
-
Pythonで三角関数の逆正接(アークタンジェント)を求める方法【numpy.arctan()】
逆正接(アークタンジェント、arctan)は多価関数です。つまり、任意の x に対して tan(z) = x を満たす z は無数に存在します。一般的な慣習では、実部が [-π/2, π/2] の範囲に収まる角度 z を返します。逆正接は atan や tan-1 とも呼ばれます。実数値の入力データ型に対して、arctan は常に実数の出力を返します。実数や無限大として表現できない値に対しては nan を返し、浮動小数点の不正操作エラーフラグを設定します。一方、複素数値の入力に対しては、arctan は複素解析関数として振る舞い、[1j, infj] と [-1j, -infj] を分岐切断(
-
Python(NumPy)で配列要素の三角関数・逆正接(arctan)を求める方法
逆正接(アークタンジェント)とはarctan(逆正接、atan または tan-1 とも呼ばれます)は多価関数です。つまり、各 x に対して tan(z) = x を満たす z は無限に存在します。一般的な規約では、実部が [-π/2, π/2] の範囲に収まる角度 z を返します。実数型の入力データに対しては、arctan は常に実数の出力を返します。実数や無限大として表現できない値が入力された場合は nan を返し、無効な浮動小数点エラーフラグを設定します。複素数入力の場合、arctan は [1j, infj] と [-1j, -infj] を分枝切断線とする複素解析関数となり、前者につ
-
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 の場合でも、
-
【Python・NumPy】日時の配列を文字列の配列に変換する方法|datetime_as_string()で分単位を指定
PythonのNumPyでは、numpy.datetime_as_string()メソッドを使うことで、日時(datetime)の配列を簡単に文字列の配列へと変換できます。このメソッドは、入力された配列と同じ形状を持つ文字列配列を返します。第一引数にはフォーマット対象となるUTCタイムスタンプの配列を指定し、unitsパラメータで日時の単位を設定することで、出力される文字列の精度を細かく制御できます。 変換の手順 まず、必要なライブラリをインポートします。 import numpy as np 次に、日時の配列を作成します。データ型の「M」はdatetime64型(日時型)を意味します
-
【Python】NumPyのcan_cast()メソッドでキャストルールに基づくデータ型変換の可否を判定する方法
numpy.can_cast()メソッドは、キャスティングルールに従ってデータ型間のキャスト(型変換)が実行できる場合にTrueを返します。第1引数には変換元となるデータ型または配列を、第2引数には変換先のデータ型を指定します。 デフォルトのキャスティングルールは「safe」であり、情報の欠落や精度の低下が起こらない変換のみが許可されます。そのため、たとえばcomplexからfloatへの変換はFalseと判定されます。 手順 はじめに、必要なライブラリをインポートします。 import numpy as np 続いて、can_cast()メソッドを使って、キャスティングルールに従ったデータ型
-
NumPyのcan_cast()メソッド – キャストルールに従ったスカラーとデータ型のキャスト可否を判定する
numpy.can_cast()メソッドは、指定されたキャストルールに従ってスカラー(またはデータ型・配列)から目的のデータ型へのキャストが可能である場合にTrueを返します。 このメソッドは以下の2つの引数を受け取ります。 第1引数: キャスト元となるスカラー値、データ型、または配列 第2引数: キャスト先のデータ型 数値の範囲や精度を超えるキャスト(例:大きな整数を小さな整数型へ変換する場合など)は安全ではないため、Falseが返されます。データ損失を防ぐために、事前にキャストの可否を確認できる便利なメソッドです。 手順 まず、必要なライブラリをインポートします。 import num
-
NaNをゼロとして扱って配列要素の累積和を返し、Pythonで結果の型を変更する方法
指定した軸に沿って配列要素の累積和を返し、その際にNaN(非数)をゼロとして扱うには、NumPyのnancumsum()メソッドを使用します。このメソッドでは、NaNに遭遇しても累積和は変化せず、先頭のNaNはゼロに置き換えられます。また、すべてがNaNであるスライスや空のスライスに対しては、ゼロが返されます。nancumsum()の主なパラメータ第1パラメータ(a):入力配列です。第2パラメータ(axis):累積和を計算する軸です。デフォルト値はNoneで、その場合はフラット化された配列全体に対して累積和が計算されます。第3パラメータ(dtype):返される配列の型、および要素を合計する際の
-
Pythonでn次の離散差分を計算する方法 ― numpy.diff()の使い方を解説
n次の離散差分を計算するには、numpy.diff()メソッドを使用します。1階差分は、指定した軸に沿って out[i] = a[i+1] - a[i] として求められ、それより高次の差分は diff を再帰的に適用することで計算されます。diff() メソッドは n 次の差分を返します。出力の形状は axis で指定した軸を除いて入力配列 a と同じであり、その軸のサイズだけが n だけ小さくなります。出力のデータ型は、a の任意の2要素間の差分の型と同じです。多くの場合これは a の型と一致しますが、顕著な例外として datetime64 型があります。この場合、出力配列は timedel
-
Python NumPyのarctanh()メソッドで配列要素の逆双曲線正接(atanh)を計算する方法
逆双曲線正接(arctanh)は多価関数です。つまり、任意の x に対して tanh(z) = x を満たす数 z は無数に存在します。慣例として、虚部が [-pi/2, pi/2] の範囲に収まる z が返されます。なお、逆双曲線正接は「atanh」や「tanh^-1」という名称でも知られています。 配列要素の逆双曲線正接を計算するには、Python の NumPy ライブラリに含まれる numpy.arctanh() メソッドを使用します。このメソッドは入力 x と同じ形状の配列を返し、x がスカラーの場合は結果もスカラーになります。第1引数の x には入力配列を指定し、第2引数と第3引数