Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NumPy数组的Python子设置输出有点混乱_Python_Python 3.x_Numpy - Fatal编程技术网

NumPy数组的Python子设置输出有点混乱

NumPy数组的Python子设置输出有点混乱,python,python-3.x,numpy,Python,Python 3.x,Numpy,二维numpy阵列 import numpy as np z = np.array([[1, 2, 3, 4, 5], [11, 12, 13, 14, 15]]) 选择第0行结束和第0列(输出为1D) 选择第0行结束和第0列(输出为2D) 子设置标准类似;但是,为什么输出格式不同(1D数组与2D数组)?我想差异在于选择的方式。选择范围时,将添加该轴上的标注,但当轴设置为常量时,将选择子标注数组。 这对于任何其他数组都是一样的,例如,请参见python列表

二维numpy阵列

import numpy as np
z = np.array([[1,   2,  3,  4,  5], 
             [11, 12, 13, 14, 15]])
选择第0行结束和第0列(输出为1D) 选择第0行结束和第0列(输出为2D)
子设置标准类似;但是,为什么输出格式不同(1D数组与2D数组)?

我想差异在于选择的方式。选择范围时,将添加该轴上的标注,但当轴设置为常量时,将选择子标注数组。 这对于任何其他数组都是一样的,例如,请参见python列表

>>> arr = ['a', 'b', 'c']
>>> arr[0]
'a'
>>> arr[:1]
['a']
>>> 

在索引中使用冒号
时,您将获得一系列值(即使您只请求一个值)。换句话说,冒号意味着它将保持轴的维度。没有它,你只能得到所需索引的投影。谢谢,简。明白了。如果索引中有一个冒号,它将返回1D数组。如果索引中有2个冒号,它将返回2D数组。冒号
创建一个
切片
(一个定义良好的Python类)。描述使用切片的基本索引。注意,使用整数进行索引类似于
i:i+1
slice,但它减少了维度。您可能需要多次重读该索引页面,并使用大量示例,然后才能对此有良好的感觉。熟悉列表和字符串索引会有所帮助,因为数组概括了这些想法。
In [2]: z[0:,:1]
Out[2]: 
array([[ 1],
       [11]])
>>> arr = ['a', 'b', 'c']
>>> arr[0]
'a'
>>> arr[:1]
['a']
>>>