Что означает x [:, [0,1,2,2]] (разновидность сплайсинга) в numpy массивах в python? Я выполнял в анаконде следующее - PullRequest
0 голосов
/ 17 марта 2020

В Numpy используя numpy.ones, я получил это

import numpy as np

x=np.ones((3,3))
print(x)
[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

x[:,[1,1,1,1]]
array([[1., 1., 1., 1.],
       [1., 1., 1., 1.],
       [1., 1., 1., 1.]])

1 Ответ

2 голосов
/ 17 марта 2020

x [:, [0,1,2,2]] означает, что вы берете (все строки) столбцы 0,1,2 и 2 и объединяете их. Поскольку в ваших данных есть все, это трудно визуализировать, но поможет следующий пример:

x = np.array([[1,2,3],[4,5,6],[7,8,9]])
x
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])


x[:, [0]]
array([[1],
       [4],
       [7]])

x[:, [1]]
array([[2],
       [5],
       [8]])

x[:, [2]]
array([[3],
       [6],
       [9]])


x[:, [0, 2, 1, 1]]
out: array([[1, 3, 2, 2],
            [4, 6, 5, 5],
            [7, 9, 8, 8]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...