Dump a NumPy array into a csv file

前端 未结 10 1261

Is there a way to dump a NumPy array into a CSV file? I have a 2D NumPy array and need to dump it in human-readable format.

10条回答
  •  春和景丽
    2020-11-22 13:15

    As already discussed, the best way to dump the array into a CSV file is by using .savetxt(...)method. However, there are certain things we should know to do it properly.

    For example, if you have a numpy array with dtype = np.int32 as

       narr = np.array([[1,2],
                     [3,4],
                     [5,6]], dtype=np.int32)
    

    and want to save using savetxt as

    np.savetxt('values.csv', narr, delimiter=",")
    

    It will store the data in floating point exponential format as

    1.000000000000000000e+00,2.000000000000000000e+00
    3.000000000000000000e+00,4.000000000000000000e+00
    5.000000000000000000e+00,6.000000000000000000e+00
    

    You will have to change the formatting by using a parameter called fmt as

    np.savetxt('values.csv', narr, fmt="%d", delimiter=",")
    

    to store data in its original format

    Saving Data in Compressed gz format

    Also, savetxt can be used for storing data in .gz compressed format which might be useful while transferring data over network.

    We just need to change the extension of the file as .gz and numpy will take care of everything automatically

    np.savetxt('values.gz', narr, fmt="%d", delimiter=",")
    

    Hope it helps

提交回复
热议问题