ホームページ > バックエンド開発 > Python チュートリアル > Python で 10 進数のシーケンスを生成するにはどうすればよいですか?

Python で 10 進数のシーケンスを生成するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-11 08:39:13
オリジナル
719 人が閲覧しました

How Can I Generate Sequences with Decimal Steps in Python?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート