Я пытаюсь создать 2d Numpy массив с помощью генераторов:Как создать массив 2d numpy?
x = [[f(a) for a in g(b)] for b in c]
И если я пытаюсь сделать что-то вроде этого:
x = np.array([np.array([f(a) for a in g(b)]) for b in c])
Я, как и следовало ожидать, получить нп .array of np.array. Но я хочу, не это, но ndarray, так что я могу получить, например, колонки так, как это:
y = x[:, 1]
Итак, мне любопытно, есть ли способ, чтобы создать его таким образом.
Конечно, это возможно при создании npdarray требуемого размера и заполнении его необходимыми значениями, но я хочу, чтобы это было сделано в строке кода.
И это должно быть выражение генератор? Это не может быть «np.shape» или что-то в этом роде? – ljetibo
Что делать 'f (a)' и 'g (b)' делать точно? Если они производят числа, ваш код должен работать: это правильный способ инициализации массива 2d numpy (numpy, как правило, достаточно умный, чтобы передать массив массива в ndarray) –
Что такое 'data ['Name']' like ? Лучше всего, если вы дадите нам примеры, которые мы можем подключить и запустить. Какова форма 'np._names'? Я не вижу в вашем коде генераторов, просто перечислите их. – hpaulj