当前位置: 首页 > 面试题库 >

numpy将2D数组与1D数组连接

习洲
2023-03-14
问题内容

我正在尝试连接4个数组,一个1D形状的数组(78427,)和3个2D形状的数组(78427,375/81/103)。基本上,这是4个数组,具有78427个图像的特征,其中1D数组每个图像仅具有1个值。

我尝试串联数组,如下所示:

>>> print X_Cscores.shape
(78427, 375)
>>> print X_Mscores.shape
(78427, 81)
>>> print X_Tscores.shape
(78427, 103)
>>> print X_Yscores.shape
(78427,)
>>> np.concatenate((X_Cscores, X_Mscores, X_Tscores, X_Yscores), axis=1)

这将导致以下错误:

追溯(最近一次调用):文件“”,第1行,在ValueError中:所有输入数组的维数必须相同

问题似乎是一维数组,但是我真的看不出来为什么(它也有78427个值)。我试图在连接它之前转置1D数组,但是那也不起作用。

任何有关连接这些数组的正确方法的帮助将不胜感激!


问题答案:

尝试级联X_Yscores[:, None](或X_Yscores[:, np.newaxis]如imaluengo建议的那样)。这将从1D数组中创建2D数组。

例:

A = np.array([1, 2, 3])
print A.shape
print A[:, None].shape

输出:

(3,)
(3,1)


 类似资料:
  • 本文向大家介绍在Python中将2d numpy数组展平为1d数组,包括了在Python中将2d numpy数组展平为1d数组的使用技巧和注意事项,需要的朋友参考一下 2d numpy数组是数组的数组。在本文中,我们将看到如何展平它以使元素成为一维数组。 与扁平化 numpy中的flatten函数是将2d数组转换为1D数组的直接方法。 示例 输出结果 运行上面的代码给我们以下结果- 带旅行 还有一

  • 问题内容: 对于数组中也是数组中的每个元素,我想将值设置为0,这将创建数组 我知道有一种使用和将其作为1D数组进行广播的方法,但是我不知道该如何进行。 任何帮助将不胜感激。 问题答案: 如果将切片的2D数组馈入到其中,它将把它展平为1D数组并与之进行比较,从而创建一个1D蒙版,可以对其进行整形并用于对该切片数组进行布尔索引以将元素设置为。单线实施看起来像这样- 样品运行- 为了简化操作,您可以创建

  • 问题内容: 我尝试运行如下代码: 我认为的形状应为(1,3)而不是(3,)。 矩阵返回的结果应为: 数组([[23],[53],[83]]) 不 数组([23,53,83]) 为什么会发生结果? 问题答案: 顾名思义,该函数的主要目的是通过在两个形状相同的数组上执行 传统的线性代数点积 来提供标量结果。 鉴于这一主要目的,在文档中也对这种情况下的第一(第一子弹下方点)谈到: 您的案件已在他的评论的

  • 在这里,我试图将转换为一个1D数组。

  • 我正在处理C#并发队列和多线程在套接字编程TCP/IP 首先,我已经完成了套接字编程本身。这意味着,我已经完成了关于客户机、服务器和通信本身的编码 到目前为止,我已经实现了putting_data到queue1(Thread1)和全部出列(Thread2),其速度大约是700Mbps 我使用两个concurrent_queue的原因是,我希望通信和类型转换工作在后台处理,而不考虑有关控制的主要过程

  • 问题内容: 我在这里研究了文档以及其他问题,但似乎我还没有掌握numpy数组中的子集的窍门。 我有一个numpy数组,为了方便讨论,让它定义如下: 现在我想选择由vector和指定的行和列。举个例子: 但是当我使用时: 然后,仅选择前五个对角线元素,而不选择整个5x5块。我发现的解决方案是这样做的: 但是我敢肯定,只有一个命令应该有一种方法可以完成这个简单的任务。 问题答案: 您已经获得了许多如何