【问题标题】:converting a 1D numpy array to a 2D txt (or) ascii file将 1D numpy 数组转换为 2D txt(或)ascii 文件
【发布时间】:2022-12-21 12:28:58
【问题描述】:

“模拟”是一个包含 237569 个元素(数字)的一维 numpy 数组,我想将其转换为 673 x 353(673 行,353 列)数组、文本或 ascii 文件

例子

[1 2 3 4 5 6 7 8 9 10 11 12]

需要它是

1

this question 中讨论了类似的问题

列数是 3 而不是相对较大的数字 (353)

我试过

stream = Reader(file='simulation.txt', block_size=673)
for i in stream:
  print(i)

结果是相同的输入

1个 2个 3个 4个 . . . 等等

【问题讨论】:

    标签: python-3.x loops txt


    【解决方案1】:

    要将一维 numpy 数组转换为二维文本或 ASCII 文件,可以使用“numpy.reshape”函数将数组重塑为二维数组,然后使用“numpy.savetxt”函数将数组保存到文件. 例如,假设您有一个包含 237569 个元素的一维 numpy 数组“simulation”,并且您想要将其重新整形为 673 x 353 数组并将其保存到名为“simulation.txt”的文本文件中。您可以按如下方式执行此操作:

    import numpy as np
    
    # Reshape the 1D array into a 2D array
    simulation_array = np.reshape(simulation, (673, 353))
    
    # Save the array to a text file
    np.savetxt("simulation.txt", simulation_array, fmt="%d", delimiter=" ")
    

    fmt 参数指定数组中元素的格式(在本例中,%d 表示整数)。 delimiter 参数指定用于分隔文件中元素的字符(在本例中为单个空格)。 或者,您可以使用 numpy.save 函数将数组保存为 NumPy 的 .npy 格式的二进制文件:

    np.save("simulation.npy", simulation_array)
    

    这将创建一个名为“simulation.npy”的文件,可以使用“numpy.load”函数将其加载回 NumPy 数组。

    我希望这有帮助!如果您有任何问题,请告诉我。

    【讨论】:

      猜你喜欢
      • 2022-01-17
      • 1970-01-01
      • 2021-05-27
      • 1970-01-01
      • 2017-07-29
      • 2017-11-02
      • 2012-05-09
      • 1970-01-01
      • 2023-03-14
      相关资源
      最近更新 更多