【问题标题】:Saving arrays as columns with np.savetxt使用 np.savetxt 将数组保存为列
【发布时间】:2017-07-06 03:12:19
【问题描述】:

我正在尝试做一些可能非常简单的事情。我想使用'np.savetxt'将三个数组作为列保存到一个文件中当我尝试这个时

x = [1,2,3,4]
y = [5,6,7,8]
z = [9,10,11,12]

np.savetxt('myfile.txt', (x,y,z), fmt='%.18g', delimiter=' ', newline=os.linesep)

数组是这样保存的

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

但我最喜欢的是这个

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

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    使用numpy.c_[]:

    np.savetxt('myfile.txt', np.c_[x,y,z])
    

    【讨论】:

      【解决方案2】:

      使用numpy.transpose():

      np.savetxt('myfile.txt', np.transpose([x,y,z]))
      

      我发现这比使用 np.c_[] 更直观。

      【讨论】:

        【解决方案3】:

        我觉得numpy.column_stack() 最直观:

        np.savetxt('myfile.txt', np.column_stack([x,y,z]))
        

        【讨论】:

          【解决方案4】:

          使用邮编:

          np.savetxt('myfile2.txt', zip(x,y,z), fmt='%.18g')

          对于python3 list+zip:

          np.savetxt('myfile.txt', list(zip(x,y,z)), fmt='%.18g')

          要了解解决方法,请参阅此处:How can I get the "old" zip() in Python3?https://github.com/numpy/numpy/issues/5951

          【讨论】:

            猜你喜欢
            • 2018-03-13
            • 2020-01-06
            • 1970-01-01
            • 2020-07-02
            • 2016-11-11
            • 1970-01-01
            • 2015-09-29
            • 1970-01-01
            • 2013-05-01
            相关资源
            最近更新 更多