繁体   English   中英

将包含另一个阵列的 Numpy 阵列转换为单个阵列

[英]Converting a Numpy Array Containing Another Array into a Single Array

“x”是 Pandas dataframe 的列。 为了能够将“x”乘以 Numpy,“A”,形状尺寸为 (2, 2),我将“x”转换如下:

x = copy[["x"]].values
x = np.asarray([x, 1.0]).reshape((1, 2))

然后我将转换后的“x”数组乘以上述数组“A”,并将“K”添加到结果中。 (K是一个常数=0.01):

J = x.dot(A).dot(x.T) + K

这产生了数组“J”,大致如下:

array([[array([[0.2531513 ],
       [0.25792632],
       [0.2462218 ],
       ...,
       [3.02035684],
       [3.09856273],
       [3.12451776]])]], dtype=object)

如您所见,数组“J”包含另一个数组。 内部数组有 1418 个元素。 Ĵ:

  1. 长度为 1。
  2. 具有尺寸 (1,1)。

我需要 J 的尺寸为 (1418, 1)。 这是我试图无济于事的(来自论坛):

  • np.concatenate(J).ravel()
  • np.array(J).flatten()
  • np.array(J).ravel()
  • J.reshape(-1)
  • np.连接(J))

任何人都可以帮忙吗? 我浏览了论坛,但找不到符合我确切要求的任何内容。

您似乎有一个对象数组,如下所示:

J = np.empty(1,object)
J[:] = [np.arange(1418)]
J >> array([array([   0,    1,    2, ..., 1415, 1416, 1417])], dtype=object)

因此,首先您必须将其转换为数字数组,然后对其进行整形:

如果您希望J为 (1418,1),请使用以下代码:

np.stack(J).reshape(-1,1)

结果证明解决方案简单得令人尴尬。 我需要做的就是使用以下代码从周围的数组中切出内部数组:

J = J[0]

感谢所有试图提供帮助的人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM