>>> practice
array([[1, 2, 3, 4, 5],
       [4, 2, 5, 3, 5],
       [8, 5, 7, 9, 4]])

>>> practice[:1,] # extra set of brackets when taking out the 1st row
array([[1, 2, 3, 4, 5]])

>>> practice[0, :] # one set of brackets when taking out the 1st row
array([1, 2, 3, 4, 5])

我是数组新手,不明白为什么在使用切片进行索引时会得到一组额外的方括号.当我使用整数编制索引时,解决方案只有一组括号.即使我得到的是相同的数字,我的方法是不是错了?

我遵循了我学到的[start:stop]方法,但解决方案似乎做了一些不同的事情.

推荐答案

两者的区别在于,在第一种情况下,你是using a slice岁,而在第二种情况下,你是indexing a single element

使用单元素索引时,NumPy肯定知道只能返回一行,因此它隐式地返回结果squeezes,并将该行作为形状(5,)的一维数组返回

另一方面,切分can(通常也是如此)用于返回多个行.为了保持通用性,NumPy保持两个维度,并返回一个形状为(1, 5)的array.

Python相关问答推荐

Polars比较了两个预设-有没有方法在第一次不匹配时立即失败

max_of_three使用First_select、second_select、

对某些列的总数进行民意调查,但不单独列出每列

Django mysql图标不适用于小 case

删除最后一个pip安装的包

计算组中唯一值的数量

为什么抓取的HTML与浏览器判断的元素不同?

如何设置视频语言时上传到YouTube与Python API客户端

在pandas中使用group_by,但有条件

给定高度约束的旋转角解析求解

Pandas Loc Select 到NaN和值列表

什么是最好的方法来切割一个相框到一个面具的第一个实例?

什么是合并两个embrame的最佳方法,其中一个有日期范围,另一个有日期没有任何共享列?

在代码执行后关闭ChromeDriver窗口

Numpyro AR(1)均值切换模型抽样不一致性

语法错误:文档. evaluate:表达式不是合法表达式

在一个数据帧中,我如何才能发现每个行号是否出现在一列列表中?

Python:在cmd中添加参数时的语法

有什么方法可以在不对多索引DataFrame的列进行排序的情况下避免词法排序警告吗?

Python:使用asyncio.StreamReader.readline()读取长行