我知道numpy数组有一个叫做shape的方法,该方法返回[行数,列数],shape [0]给出行数,shape [1]给出列数。
a = numpy.array([[1,2,3,4], [2,3,4,5]])
a.shape
>> [2,4]
a.shape[0]
>> 2
a.shape[1]
>> 4
但是,如果我的数组只有一行,那么它将返回[No.of columns,]。并且shape [1]将不在索引中。例如
a = numpy.array([1,2,3,4])
a.shape
>> [4,]
a.shape[0]
>> 4 //this is the number of column
a.shape[1]
>> Error out of index
现在,如果该数组可能只有一行,如何获取numpy数组的行数?
谢谢
行 和 列
的概念适用于2D数组。但是,该数组numpy.array([1,2,3,4])
是一维数组,因此只有一个维,因此shape
正确地返回一个单值可迭代的数组。
对于同一阵列的2D版本,请考虑以下内容:
>>> a = numpy.array([[1,2,3,4]]) # notice the extra square braces
>>> a.shape
(1, 4)
问题内容: 我有一个4-D NumPy数组,轴说x,y,z,t。我想取对应于t = 0的切片,并在y轴上排列顺序。 我有以下 我得到(5,4,3)而不是(4,5,3)。 我何时输入 我得到了预期的(4,5,3)。有人可以解释为什么第一个版本交换前两个维度吗? 问题答案: 正如@hpaulj在评论中提到的,此行为是由于 混合了基本切片 和 高级索引: 在上面的代码片段中,发生了以下情况: 当我们沿最
问题内容: 我有, 如图所示这里,我们创建一个从原点的二维之一。但是,如何迭代内部,以便可以在 其中 创建 列索引* 和 行索引 而又不 创建新 索引 呢?我希望将其索引打印到二维数组 (2x5) 时看起来像这样: __ * 我认为这里的主要问题是获取 列索引 和 行索引 而没有创建二维 索引 。是不是 问题答案: 如果要以行为主的顺序,给定row ,column 并且伪造(缺乏更好的术语)带有列
问题内容: 我尝试了解如何使用来处理数组(线性代数中的向量)。 在以下示例中,我生成两个 和: 对我来说,和根据线性代数定义具有相同的形状:1列,3列,但不适合。 现在,该 产品: 我有三个不同的输出。 和之间有什么区别?为什么点不起作用? 这些点产品也存在一些差异: 问题答案: 请注意,您不仅在处理一维数组: 因此,是2D阵列。您还可以在:(1,3)的输出中看到这一点,因为(3,)是一个维度,它
定义为一维数组,定义为二维数组,但这一行为是两个夜晚。原因是什么? 以及该代码的输出:
问题内容: 我具有以下列数据的关联数组: 我需要将结构转置/旋转为行数组(将合并的列数据分配给它们各自的行)。我不需要结果中的列名。 预期产量: 问题答案: 正如Kris Roofe在删除的答案中所说,的确是一种更为优雅的方法。只要确保将其放入某种循环中即可,就像Sahil Gulati向您展示的那样。例如,像这样: 的输出正是您要寻找的
问题内容: 我已经有了用于将一维二维转换为一维二维的代码,但是我不知道如何将其转换。这是我的代码: 问题答案: 您正在寻找类似的东西: 与以下内容相同: 但试图帮助进一步解释这个概念。
本文向大家介绍将二维数组转为一维数组的2种方法,包括了将二维数组转为一维数组的2种方法的使用技巧和注意事项,需要的朋友参考一下 如何将下面的二维数组转为一维数组。 第一种方法: 第二种方法: 以上两种解法print_r($names);后的结果为: 注意:array_column();可以有第三个参数,如 $n = array_column($msg, 'name', 'id'); print_r
问题内容: 我想通过指定2D数组中的列数将一维数组转换为二维数组。可能会像这样工作: numpy是否具有与我的虚构函数“ vec2matrix”相似的功能?(我知道您可以像2D数组一样索引1D数组,但这不是我拥有的代码中的选项- 我需要进行此转换。) 问题答案: 您要阵列。 其中,根据输入数组的大小推断新维的大小。