Python 连接不同大小的阵列
简单的数据结构问题,但我找不到正确的python语法。给定numpy数组(在我的实际使用中,从带有Python 连接不同大小的阵列,python,numpy,numpy-ndarray,Python,Numpy,Numpy Ndarray,简单的数据结构问题,但我找不到正确的python语法。给定numpy数组(在我的实际使用中,从带有np.loadtxt的文本文件中读取),例如 i、 例如,2D,但一维中的所有不同长度。如何将它们组合成单个3D数组,以便combinedArrays[0]返回a,或combinedArrays[:,0]返回所有第一行,以此类推 我尝试了np.append、np.stack、和np.concatenate,但都没有成功。我可以用零展开较小的矩阵,只需顶部填充,但这会无缘无故地带来大量额外的零。我强烈
np.loadtxt
的文本文件中读取),例如
i、 例如,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数组
有关更多信息,请参阅:我强烈建议您使用
tensorflow.ragged.constant()
您可以使用以下代码创建一个:
import tensorflow as tf
t = [A,B,C]
digits = tf.ragged.constant(t)
然后,您不仅可以按所需的方式对其进行切片,还可以使用tensorflow库中的其他方法,例如使用.numpy()
等将其转换为numpy数组
有关更多信息,请参阅:
那么numpy数组和numpy数组呢:
as_array = np.array([A,B,C])
print(as_array)
[array([[1, 2],
[3, 4]]) array([[ 5, 6],
[ 7, 8],
[ 9, 10]]) array([[11, 12],
[13, 14],
[15, 10]])]
阵列列表如何:
as_list = [A,B,C]
as_list.append(as_list)
print(as_list)
[array([[1, 2],
[3, 4]]), array([[ 5, 6],
[ 7, 8],
[ 9, 10]]), array([[11, 12],
[13, 14],
[15, 10]]), [...]]
你也可以用字典
那么numpy数组和numpy数组呢:
as_array = np.array([A,B,C])
print(as_array)
[array([[1, 2],
[3, 4]]) array([[ 5, 6],
[ 7, 8],
[ 9, 10]]) array([[11, 12],
[13, 14],
[15, 10]])]
阵列列表如何:
as_list = [A,B,C]
as_list.append(as_list)
print(as_list)
[array([[1, 2],
[3, 4]]), array([[ 5, 6],
[ 7, 8],
[ 9, 10]]), array([[11, 12],
[13, 14],
[15, 10]]), [...]]
你也可以使用字典。你不能,因为你的数组大小不同。你不能把它包装成一个数组吗?如果你有很多零,你可以使用稀疏矩阵。但是对于你提到的例子,你无中生有。事实上,一个填充了零的numpy数组比你的列表更节省内存?除了为组合阵列编制索引外,你打算用组合阵列做什么?我真的不能强迫它们成为单个阵列,因为在我的实际用例中,矩阵代表不同的恒星,以及关于它们的各种参数(位置、速度、质量等),所以我导入的矩阵需要分开`合并后的[:,2]将给出每个文件的所有第三行,@Reti43当最小的行有3000行,最大的行有10000行时,“零束”的参数是否仍然适用?本质上,我只是想做一个秩为3的“不规则张量”,但是如果没有数学运算,你就不能,因为你的数组有不同的大小。你不能把它包装成一个数组吗?如果你有很多零,你可以使用稀疏矩阵。但是对于你提到的例子,你无中生有。事实上,一个填充了零的numpy数组比你的列表更节省内存?除了为组合阵列编制索引外,你打算用组合阵列做什么?我真的不能强迫它们成为单个阵列,因为在我的实际用例中,矩阵代表不同的恒星,以及关于它们的各种参数(位置、速度、质量等),所以我导入的矩阵需要分开`合并后的[:,2]将给出每个文件的所有第三行,@Reti43当最小的行有3000行,最大的行有10000行时,“零束”的参数是否仍然适用?本质上,我只是想制作一个等级为3的“参差不齐张量”,但是如果没有itI上的数学运算,我就无法安装它。我已经尝试升级到64位Python 3.9,更新了我所有的软件包,跟踪了我能搜索到的所有结果,它只是一个接一个地给我错误。请附上你所面临的错误@BrandonMyersip是一个痛苦的问题,不知怎的找不到要安装的软件包。我有点放弃了。据我所知,如果我能安装它,这将满足我的要求,但这是个人问题,不是问题之一。我无法安装它。我已经尝试升级到64位Python 3.9,更新了我所有的软件包,跟踪了我能搜索到的所有结果,它只是一个接一个地给我错误。请附上你所面临的错误@BrandonMyersip是一个痛苦的问题,不知怎的找不到要安装的软件包。我有点放弃了。据我所知,如果我能安装它,这将满足我的要求,但这是个人问题,不是问题之一。