(Python3.x)拆分数组并将它们保存到新数组中



我正在编写一个Python脚本,旨在将一大数组数字拆分为相等的子数组。为此,我使用 Numpy 的拆分方法,如下所示:

test=numpy.array_split(raw,nslices)

其中raw是包含所有值的完整数组,顺便说一下,这些值是float64类型。nslices是我想从原始数组创建的子数组的数量。

在脚本中,nslice可能会根据原始数组的大小而有所不同,因此我想"自动"将每个创建的子数组保存在特定数组中:resultsarray(i)的方式与在 MATLAB/Octave 中制作的方式类似。 我尝试在 Python 中使用for in range循环,但我只能将最后一个子数组保存在变量中。

保存从 1 到nslices的每个增量的子数组的正确方法是什么?

在这里,完整的代码就像现在一样(我是Python初学者,请打扰脚本的低级(。

import numpy as np
file = open("results.txt", "r")
raw = np.loadtxt(fname=file, delimiter="/n", dtype='float64')
nslices = 3
rawslice = np.array_split(raw,nslices)
for i in range(0,len(rawslice)):
resultsarray=(rawslice[i])
print(rawslice[i])

非常感谢您帮助解决此问题!

首先 - 你搞砸了分隔符:) 它应该是反斜杠+nn而不是/n

其次 - 正如 Serge 在评论中已经提到的,您可以按索引访问拆分部分(resultarray[0][2](。但是,如果您真的想将每个部分分配给一个单独的变量,则可以以 fomming 方式执行此操作:

result_1_of_3, result_2_of_3, result_3_of_3 = rawslice
print(result_1_of_3, result_2_of_3, result_3_of_3)

但这可能不是你应该走的路。

相关内容

  • 没有找到相关文章

最新更新