问题描述
简单的数据结构问题,但我找不到正确的 python 语法。给定 numpy 数组(在我的实际使用中,使用 np.loadtxt
从文本文件中读取),例如
A=[[1,2],[3,4]]
B=[[5,6],[7,8],[9,10]]
C=[[11,12],[13,14],[15,10]]
即,2D,但在一维中所有不同的长度。如何将这些组合成一个 3D 数组,使得 combinedArrays[0]
返回 A,或 combinedArrays[:,0]
返回所有第一行等?
我尝试过 np.append
、np.stack
和 np.concatenate
,但这些都没有奏效。我可以用零来扩展较小的矩阵,并且只是顶部填充,但是这样会无缘无故地携带很多额外的零。
解决方法
我强烈建议您使用 tensorflow.ragged.constant()
您可以使用以下代码创建一个:
import tensorflow as tf
t = [A,B,C]
digits = tf.ragged.constant(t)
然后,您不仅可以按照您想要的方式对其进行切片,还可以使用 tensorflow 库中存在的其他方法,例如使用 .numpy()
等将其转换为 numpy 数组
有关更多信息,请参阅:Link
,$follow = $this->user->followers()->attach(auth()->user()->id);
numpy 数组的 numpy 数组怎么样:
import numpy as np
A=np.array([[1,2],[3,4]])
B=np.array([[5,6],[7,8],[9,10]])
C=np.array([[11,12],[13,14],[15,10]])
数组列表怎么样:
as_array = np.array([A,C])
print(as_array)
[array([[1,4]]) array([[ 5,[ 7,[ 9,10]]) array([[11,10]])]
你也可以使用字典。