2

使用 Numpy,我将使用以下方法将维度数组 , 拆分为(557124,2)6dtype = "S10"个子数组:

sub_arr = np.split(arr, 6)

现在我想使用一个for循环savetxt并将 6 个子数组保存到 6 个 .txt 文件中。

我试过了:

for i in sub_array:
    np.savetxt(("Subarray", i, ".txt"), sub_array[i], fmt='%s')

有2个问题:

  1. 不正确的说法in sub_array。我应该使用range(5),但我想让它适应任意数量的子数组。

  2. 我想当我这样做时,我可以像在 R 中那样使用一种“粘贴” ("Subarray", i, ".txt")。Numpy 有类似的东西吗?

任何想法?

4

1 回答 1

3

据我了解

sub_arr = np.split(arr, 6)

返回 6 个 numpy 数组的列表。然后您可以使用 enumerate 来获取每个数组及其索引

fname_template = "Subarray.{i}.txt"
for i, sarr in enumerate(sub_arr):
    np.savetxt(fname_template.format(i=i), sarr, fmt='%s')

为了创建文件名,我使用了新的字符串格式+否则,您可以使用as连接字符串"Subarray."+str(i)+".txt",但您必须确保连接的所有元素都是字符串。

于 2013-05-21T13:07:56.227 回答