どうも、ちょげ(@chogetarou)です。
小数を含む範囲を生成する方法を紹介します。
方法

小数を含む範囲を生成する方法は、3つあります。
for文
1つ目は、for文を使う方法です。
まず、[]を記述します。
[]内でrange()をforループします。
そして、range()の値の桁数を下げます。(具体的には、10で割ったり、0.1を掛けたりする)
[x / 10 for x in range(start, end)]
上記の[]は、小数を含む範囲を生成します。
使用例
fl_range1 = [x / 10 for x in range(1, 10)]
fl_range2 = [x /100 for x in range(10, 20, 2)]
print(fl_range1) #[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]
print(fl_range2) #[0.1, 0.12, 0.14, 0.16, 0.18]
numpy.arange()
2つ目は、numpy.arange()を使う方法です。
まず、numpyからarange()を呼び出します。
第1引数に範囲の最初の位置、第2引数に範囲の最後の位置を指定します。
そして、arange()の第3引数に間隔を指定します。
np.arange(start, end, step)
np.arange()は、第1引数から第2引数までの範囲の値を第3引数の間隔で生成します。
使用例
import numpy as np
fl_range1 = np.arange(1, 2, 0.2)
fl_range2 = np.arange(2.0, 2.5, 0.1)
print(fl_range1) #[1. 1.2 1.4 1.6 1.8]
print(fl_range2) #[2. 2.1 2.2 2.3 2.4]
numpy.linspace()
3つ目は、numpy.linspace()を使う方法です。
まず、numpyからlinspace()を呼び出します。
numpy.linspace()の第1引数に最初の位置、第2引数に最後の位置を指定します。
そして、linspace()の第3引数に数値の個数を指定します。
np.linspace(start, end, count)
上記のnumpy.linspace()は、第1引数から第2引数までの範囲を生成します。
使用例
import numpy as np
fl_range1 = np.linspace(1, 2, 11)
fl_range2 = np.linspace(2, 2.5, 6)
print(fl_range1) #[1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2. ]
print(fl_range2) #[2. 2.1 2.2 2.3 2.4 2.5]
まとめ
小数を含む範囲を生成する方法は、次の2つです。
- for文を使う方法
- numpy.arange()を使う方法
- numpy.linspace()を使う方法
コメント