Как сделать так, чтобы sample1 и sample2 выводились не в одну строку, а в один или несколько столбцов?

import numpy as np

n1 = int(130)
n2 = int(143)
mu1 = int(50)
mu2 = int(30)
sigma = float(2.1)

sample1 = sorted(np.random.normal(mu1, sigma, n1))
sample2 = sorted(np.random.normal(mu2, sigma, n2))

print(sample1)
print(sample2)

В таком формате выводяться sample1 и sample2

В таком формате выводяться sample1 и sample2.


Ответы (3 шт):

Автор решения: Valeriy M. Raznomazov
import numpy as np

n1 = int(130)
n2 = int(143)
mu1 = int(50)
mu2 = int(30)
sigma = float(2.1)

sample1 = sorted(np.random.normal(mu1, sigma, n1))
sample2 = sorted(np.random.normal(mu2, sigma, n2))

for sample,sample_1 in zip(sample1,sample2):
    print(sample, sample_1)
→ Ссылка
Автор решения: MaxU

Решение в стиле Numpy:

sample1 = np.sort(np.random.normal(mu1, sigma, (n1,1)), axis=0)
sample2 = np.sort(np.random.normal(mu2, sigma, (n2,1)), axis=0)

res = np.column_stack((sample1[:min(n1, n2)], sample2[:min(n1, n2)]))

результат (первые 10 строк):

In [37]: print(res[:10])
[[43.46735034 22.72733703]
 [45.15690395 24.65679163]
 [45.58415546 25.85860853]
 [46.64115526 26.02413884]
 [46.67391253 26.46552756]
 [46.78480502 26.69115347]
 [47.21693261 26.73877702]
 [47.28414813 26.74048161]
 [47.29540367 26.91173377]
 [47.36743541 26.94666345]]
→ Ссылка
Автор решения: Mr. JS

Для вашей задачи достаточно использовать стандартную функцию zip:

# ваша часть кода:

import numpy as np

n1 = int(130)
n2 = int(143)
mu1 = int(50)
mu2 = int(30)
sigma = float(2.1)

sample1 = sorted(np.random.normal(mu1, sigma, n1))
sample2 = sorted(np.random.normal(mu2, sigma, n2))

# пример использования:

for s1, s2 in zip(sample1, sample2):
    print(f'{s1}\t{s2}')

# результат:

45.06734281105727   23.96501901685375
45.30393125127093   24.694986587029383
45.40056422359471   24.920269470762385
45.810454865496375  25.19875696542393
...
→ Ссылка