2017-03-24 6 views
0

numpy.arangeで単純な小数値の範囲を取得したいと考えています。 しかし、私のコードは予期しない結果とサイズを出力します。 私のスニペットを以下に示します。numpyの数字が含まれています

len(arange(0.60,0.70,0.01)) 

それは私はそれがまた、サイズ20 1を返しますが予想サイズ10は

array([0.60, ... ,0.69]) 

オブジェクトndarrayそして、最大値は

len(arange(0.60,0.80,0.01)) 

array([0.60, ... , 0.79, 0.80]) 

を変更し返します。

アレイ([0.60、···、0.79])

しかし、サイズが21であり、0.80が含まれています。
これはなぜですか? 2つの範囲の違いは何ですか?

パイソン:3.5.2
numpyの:numpy.arange documentationで書かれているよう1.10.1

答えて

1

「は、0.1などの非整数ステップを使用する場合、結果はしばしば一貫性がありませんこれらの場合にはlinspaceを使用する方が良いです。 linspaceは、両方のエンドポイントが含まれるので、このnp.linspace(0.60,0.69,10)私はドキュメントと古い質問を見落とし

array([ 0.6 , 0.61, 0.62, 0.63, 0.64, 0.65, 0.66, 0.67, 0.68, 0.69]) 
+0

を生成することを

注意。ご回答有難うございます。 – ric

関連する問題