非整数範囲を反復処理する方法
range() を使用して 10 進ステップ値の範囲を作成しようとすると、 step 引数をゼロにすることはできないというエラーが発生する場合があります。これは、 range() が start、stop、step パラメーターに整数値を期待しているために発生します。
NumPy の linspace を使用した解決策
この問題を回避するには、次のコマンドを使用して範囲を作成します。非整数のステップ値の場合は、NumPy の linspace 関数の利用を検討してください。 linspace は返されるポイントの数を受け取り、正しいエンドポイントを含めるかどうかを指定できます。例:
import numpy as np # Create a range from 0 to 1 with 11 equally spaced points (including 1) points = np.linspace(0, 1, 11) # Create a range from 0 to 1 with 10 equally spaced points (excluding 1) points_excl = np.linspace(0, 1, 10, endpoint=False)
NumPy の arange を使用した解決策
丸め誤差の可能性があるため、浮動小数点ステップ値の使用は通常推奨されませんが、NumPy は arange を提供しますこの目的のために特別に設計された機能。ただし、丸め誤差が依然として発生する可能性があることに注意してください:
import numpy as np # Create a range from 0.0 to 1.0 with a step value of 0.1 points = np.arange(0.0, 1.0, 0.1) # Example of a potential rounding error using arange points = np.arange(1, 1.3, 0.1) # Expected length: 3, Actual length: 4
以上がPython で非整数ステップを含む範囲を作成するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。