Вы можете сделать это, используя функцию np.random.multivariate_normal()
.
Он работает не только для двумерных данных, но и для любого количества измерений.
Например, если вы хотите, чтобы 100 двумерных точек были центрированы вокруг точки (1,3), вы можете сделать следующее.
mean = [1, 3]
cov = [[8, -5], [0.2, 0.2]]
x, y = np.random.multivariate_normal([0, 2], cov, 100).T
И для 100 трехмерных точек, центрированных вокруг этой точки (1,10 100), вы можете сделать это.
mean = [1, 10, 100]
cov = [[1,1,1], [1,1,1], [1,1,1]]
x, y, z = np.random.multivariate_normal(mean, cov, 100).T
Для получения дополнительной информации вот документация, но вы также можете спросить меня. http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.multivariate_normal.html