使用Numpy,我将使用以下方法在6个子阵列中拆分维度(557124,2)
,dtype = "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')
有两个问题:
说in sub_array
是不对的。我应该使用range(5)
,但我想让它适应任意数量的子数组。
当我做("Subarray", i, ".txt")
时,我以为我可以使用R中的某种“粘贴”。 Numpy有什么相似的东西吗?
有什么想法吗?
答案 0 :(得分: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')
要创建文件名,我使用了new string formatting。否则,您可以将+
的字符串连接为"Subarray."+str(i)+".txt"
,但您必须确保连接的所有元素都是字符串。