Что означает список[срез, число] запись списка в Python?

218 просмотра
0
0 Комментариев

Разбираюсь с нейронными сетями на Keras в Python. Уже видел несколько примеров, где исходный набор данных dataset обрабатывают при помощи кода следующего вида:

for i in range(n):
    a = dataset[i:(i+look_back), 0]
    dataX.append(a)
    dataY.append(dataset[i + look_back, 0])
return numpy.array(dataX), numpy.array(dataY)

То есть список[срез, число]dataset[i:(i+look_back), 0].
Или бывает так — dataset[i:(i+look_back), :] — двоеточие вместо числа

Что означает это число или двоеточие после запятой? Как понимать такой список?

Аналогичный вопрос по строке append(dataset[i + look_back, 0])


Добавить комментарий

1 Ответы

Python Опубликовано 16.12.2018
0

Скорее всего dataset это объект типа numpy.ndarray.

Пример:

In [41]: import numpy as np
 
In [42]: dataset = np.arange(20).reshape(5,4)
 
In [43]: dataset
Out[43]:
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15],
       [16, 17, 18, 19]])

вернуть значения второго (начиная с 0) столбца:

In [44]: dataset[:, 2]
Out[44]: array([ 2,  6, 10, 14, 18])

вернуть 2D массив значений строки 1-3, столбцы 2-4:

In [45]: dataset[1:3, 2:4]
Out[45]:
array([[ 6,  7],
       [10, 11]])

второй столбец (двоеточие обозначает — все значения по данной оси (строки)) в виде 2D массива (размерностью 5×1)

In [46]: dataset[:, [2]]
Out[46]:
array([[ 2],
       [ 6],
       [10],
       [14],
       [18]])
 
In [47]: type(dataset)
Out[47]: numpy.ndarray

Документация по индексированию в Numpy

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up