Ваши циклы while действительно не должны использовать np.append
. Это медленно.
In [119]: t1 = np.array([0])
...: i=0
...: while i < 10:
...: t1 = np.append(t1, t1[i] + .1)
...: i += 1
...:
In [120]: t1
Out[120]: array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
Добавление в список происходит быстрее:
In [121]: t1 = [0]
...: i=0
...: for i in range(10):
...: t1.append(t1[-1] + .1) # t1[-1] the last, latest, value
...:
...:
In [122]: t1
Out[122]:
[0,
0.1,
0.2,
0.30000000000000004,
0.4,
0.5,
0.6,
0.7,
0.7999999999999999,
0.8999999999999999,
0.9999999999999999]
In [123]: np.array(_)
Out[123]: array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
Еще лучше использовать arange
:
In [124]: np.arange(11)*0.1
Out[124]: array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
In [127]: np.linspace(0,1,11)
Out[127]: array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])