numpy は、Python で数値シーケンスを作成するためのツールである linspace 関数 (np.linspace とも呼ばれます) を提供します。 Numpy arange 関数と同様に、Numpy 配列に似た構造を持つ均一に分散された値のシーケンスを生成します。両者にはいくつかの違いがありますが、ほとんどの人は linspace 関数を使用することを好みます。これは理解するのは簡単ですが、使い方を学ぶ必要があります。
この記事では、linspace 関数とその他の構文を学習し、例を通じて特定のパラメーターについて説明します。最後に、np.linspace と np.arange の違いについて触れておきたいと思います。
均一の間隔を定義して数値シーケンスを作成します。実際には、区間の開始点と終了点を指定し、分割された値の合計数 (開始点と終了点を含む) を指定する必要があり、最後の関数は区間の一様分布の数値シーケンスを返します。クラス。例を参照してください:
np.linspace(start = 0, stop = 100, num = 5)
コードは NumPy 配列 (ndarray オブジェクト) を生成します。結果は次のようになります: array([ 0., 25., 50., 75., 100.] )
図に示すように:
#Numpy linspace 関数が定義された間隔に従って均一に分散された値を生成することを説明しましょう。 start パラメーターと stop パラメーターを使用して間隔を指定します。ここでは、それらを 0 と 100 に設定し、範囲内で 5 つの観測値が生成されるように指定します。これにより、関数は均等に分散された 5 つの要素を生成します。最初の値は 0、最後の値は 100、他の 3 つは 0 から 100 の間に配分されます。
linspace 関数のメカニズムをより明確に理解できるように、linspace 関数のパラメーターを詳しく見てみましょう。
linspace の構文は非常にシンプルかつ直接的です。以下の図に示すように、最初は関数名で、対応するコードは np.linspace です (NumPy を np としてインポートしたと仮定します)。
図 2
上の図には 3 つのパラメーターがあり、これらは最も頻繁に使用される 3 つのパラメーターです。他にもオプションのパラメータがあり、そのパラメータについては以下で説明します。
パラメータを理解するために、もう一度図を見てみましょう:
start
start パラメータ値の開始点範囲。 0 に設定すると、結果の最初の数値は 0 になります。このパラメータは必ず指定する必要があります。
stop
stop パラメータ値の範囲の終点。通常、これは結果の最後の値ですが、endpoint = False が変更された場合、その値は結果に含まれません (次の例で説明します)。
num (オプション)
num パラメータは、結果に含まれる要素の数を制御します。 num=5 の場合、出力配列の数は 5 です。このパラメータはオプションであり、デフォルトは 50 です。
endpoint (オプション)
endpoint パラメータは終了値を決定します。 (停止パラメータ) が結果配列に含まれます。 endpoint = True の場合、終了値は結果に含まれますが、それ以外の場合は含まれません。デフォルトは True です。
dtype (オプション)
他の NumPy と同様に、np.linspace の dtype パラメーターは出力配列のデータ型を決定します。指定しない場合、Python は他のパラメーター値に基づいてデータ型を推測します。必要に応じて明示的に指定でき、パラメーター値には NumPy と Python でサポートされている任意のデータ型を指定できます。
デフォルト値でニーズが満たされる場合は、毎回すべてのパラメーターを使用する必要はありません。一般に、start、stop、num は、endpoint や dtype よりもよく使用されます。
位置パラメータと名前付きパラメータ
実際に呼び出すときに、指定されたパラメータ名を表示する必要はありません。パラメータの位置によって直接一致させることができます:
np.linspace(0, 100, 5)
上のコードと前のコード 例の関数は同じです: np.linspace(start = 0, stop = 100, num = 5)
。
前者は位置一致を使用し、後者は名前一致を使用します。位置一致によりコードが単純になり、名前一致によりコードが読みやすくなります。実際のアプリケーションでは、名前一致を使用して関数を呼び出すことをお勧めします。
例を通して各パラメータの意味を学びましょう。
np.linspace(start = 0, stop = 1, num = 11)
出力結果は次のとおりです:
array([ 0. , 0.1, 0.2, 0.3、0.4、0.5、0.6、0.7、0.8、0.9、1。 ])
パーセンテージのシナリオが必要な場合に便利です。
np.linspace(start = 0, stop = 100, num = 11)
出力結果は次のとおりです:
array([ 0., 10., 20 ., 30., 40., 50., 60., 70., 80., 90., 100.])
この例は前と同じですが、一般的に次のように使用されます。実用的なアプリケーション。
前述したように、エンドポイント パラメーターは、終了値が結果配列に含まれるかどうかを決定します。デフォルトは True で、これは結果に含まれることを意味し、それ以外の場合は含まれません。例を参照してください:
np.linspace(start = 1, stop = 5, num = 4, endpoint = False)
endpoint = False のため、5 は結果に含まれません。結果は1対4です。
array([ 1., 2., 3., 4.])
個人的には、このパラメータは直接的ではなく、一般的には使用されないと思います。
默认linspace根据其他参数类型推断数据类型,很多时候,输出结果为float类型。如果需要指定数据类型,可以通过dtype设置。该参数很直接,除了linspace其他函数也一样,如:np.array,np.arange等。示例:
np.linspace(start = 0, stop = 100, num = 5, dtype = int)
这里dtype为int,结果为int类型,而不是float类型。
以上がPython numpy で linspace 関数を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。