#arrays #numpy
#массивы #numpy
Вопрос:
mean = [0, 0]
cov = [[1, 0], [0, 100]]
gg = np.random.multivariate_normal(mean, cov, size = [5, 12])
Я получаю массив из 2 столбцов и 12 строк, я хочу взять первый столбец, который будет включать все 12 строк, и преобразовать их в столбцы. Каков подходящий метод для sclicing и как можно преобразовать результат в столбцы? Чтобы быть точным, глядя на экран (второй), нужно взять все столбцы 0 столбцов и преобразовать их обычным способом слева направо
Ответ №1:
Проблема в том, что ваш массив gg
не двухмерный, а трехмерный. Итак, вам нужен фактически первый столбец каждого сложенного 2D-массива. Вот пример:
import numpy as np
x = np.random.randint(0, 10, (3, 4, 5))
x[:, :, 0].flatten()
Двоеточие в нарезке означает «все значения в этом измерении». Итак, x[:, :, 0]
означает «все значения в первом измерении и все значения во втором измерении и с третьим измерением, фиксированным по индексу 0». В результате получается двумерный массив, который необходимо дополнительно сгладить.