Thank you but the same time:
import numpy as np
import time
N = 3000
m_0 = np.arange(N)
a = np.ones(N)
#===== first =========
t1 = time.time()
m_1 = np.outer(m_0, a).ravel()
m_2 = np.outer(a, m_0).ravel()
t1 = time.time() - t1
#===== second =======
t2 = time.time()
m_3 = np.tile(m_0, N)
m_4 = np.repeat(m_0, N)
t2 = time.time() - t2
#==================
np.sum(m_1 - m_3)
np.sum(m_2 - m_4)
t1
t2
10.01.2021, 08:37, "V. Armando Sole" <s...@esrf.fr>:
,I guess the speed up, if any, will be machine dependent, but you can give a try at:
import numpy as np
import time
N = 3000
m_0 = np.arange(N)
t = time.time()
a = np.ones(N)
m_1 = np.outer(m_0, a).ravel()
m_2 = np.outer(a, m_0).ravel()
t = time.time() - t
On 2021-01-09 20:07, klark--k...@yandex.ru wrote:
Hello. There is a random 1D array m_0 with size 3000, for example:
m_0 = np.array([0, 1, 2])
I need to generate two 1D arrays:
m_1 = np.array([0, 1, 2, 0, 1, 2, 0, 1, 2]) m_2 = np.array([0, 0, 0, 1, 1, 1, 2, 2, 2])
Is there faster way to do it than this one:
import numpy as np import time N = 3 m_0 = np.arange(N)
t = time.time() m_1 = np.tile(m_0, N) m_2 = np.repeat(m_0, N) t = time.time() - tI tried other ways but they are slower or have the same time. Other NumPy operations in my code 10-100 times faster.
Why the repeating an array is so slow? I need 10 times speed up. Thank you for your attantion to my problem._______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion