Python の 'range()' 関数で 10 進数のステップ値を処理する
Python の 'range() で 10 進数のステップ増分を利用できません' 関数?ステップ サイズ 0.1 で 0 と 1 の間を反復したい場合、ステップ引数をゼロにすることはできないため、懸念が生じます。
代替アプローチの採用
この制限を克服するには、10 進数のステップを直接使用することを避けてください。代わりに、生成されるポイントの数で目的のエンドポイントを表現します。これは、不正確な結果をもたらす可能性がある浮動小数点の丸めエラーを防ぐのに役立ちます。
NumPy の 'linspace' 関数の活用
NumPy の 'linspace' 関数は、実用的な解決策として機能します。希望するポイント数を受け入れ、エンドポイントの包含または除外を指定できます。
>>> np.linspace(0, 1, 11) array([ 0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.]) >>> np.linspace(0, 1, 10, endpoint=False) array([ 0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
10 進数ステップの numpy.arange 関数の利用
浮動小数点の場合ポイントステップ値は必須ですが、numpy.arange はused:
>>> import numpy as np >>> np.arange(0.0, 1.0, 0.1) array([ 0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
ただし、以下に示すように、不正確な結果につながる可能性がある潜在的な浮動小数点丸め誤差に注意することが重要です。
>>> numpy.arange(1, 1.3, 0.1) array([1. , 1.1, 1.2, 1.3])
以上がPython で 10 進数のシーケンスを生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。