Вам не нужно использовать numpy.array
x = x[:, 0]
равно x = np.array(x[:, 0])
вы можете указать, что вам нужен дополнительный измерение, и вы не отказываетесь от явной индексации первого столбца:
x = np.random.normal(size=(10, 3))
x = x[:, 0, None]
x.shape
#(10, 1)
Или вы можете использовать его при суммировании
x = np.random.normal(size=(10, 3))
y = np.random.normal(size=(10, 1))
#x[:, 0, None] + y
x = x[:, 0]
x[:, None] + y
Мы также можем указать, что мы хотим все до второго столбец, этот синтаксис короче, но, возможно, он более читабелен 0
, чем :1
x = np.random.normal(size=(10, 3))
x = x[:, :1]
x.shape
#(10, 1)
, мы также можем использовать дополнительные методы.
x = np.random.normal(size=(10, 3))
x = np.expand_dims(x[:, 0], 1)
x.shape
#(10, 1)
x = np.random.normal(size=(10, 3))
x = x[:, 0].reshape(-1, 1)
x.shape
#(10, 1)
Здесь -1
позволяет работать с другим числом строк, отличным от 10