#python
#python
Вопрос:
array = np.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]])
print(array[0:1][0:3])
его предоставление
[[1, 2, 3, 4, 5]]
это должно дать
[[1,2,3]]
Почему это происходит
Комментарии:
1. Первая часть должна быть индексирована, а не нарезана:
print(array[0][0:3])
2. @omsel попробуйте распечатать(массив [0: 2])
Ответ №1:
вы используете 2D-массив, поэтому, если вы попытаетесь
- печать (массив[0:1][0:3]) затем выводится в 2D массиве в соответствии с индексом 0
- [[1 2 3 4 5]]
Если попробовать это
- print(array [0][0: 3]) затем выводится в виде одномерного массива
- [1 2 3]
если вы хотите получить 2D-вывод, то срез устанавливается как
- печать (массив[0:1, 0:3]) и выводится в 2D-массиве
- [[1 2 3]]
Ответ №2:
попробуйте это :
print(array[0:1,0:3])
Результат:
[[1 2 3]]
Ответ №3:
Почему это происходит
Вы работаете с 2D-массивом, [0:1]
который может быть прочитан как 2D-массив, состоящий из 1 верхних строк, затем вы делаете [0:3]
в результате — который является 2D-массивом — и, следовательно, может быть прочитан как 2D-массив, состоящий из 3 верхних строк, поскольку уже есть 1 строка, только вы заканчиваете 2D-массивом, имеющимодна строка. Если это необходимо, я надеюсь, что следующий пример с simple list
поможет:
x = [1,2,3,4,5,6,7]
y = x[0:3][0:5]
print(y) # [1, 2, 3]
Ответ №4:
Попробуйте эту модификацию:
print(array[:1][0][:3])