Difference Between numpy.genfromtxt and numpy.loadtxt, and Unpack

后端 未结 1 1934
小鲜肉
小鲜肉 2020-12-15 20:35

I am curious to know the difference between the two functions alluded to in the title of this thread. From the website containing the documentation, it says, \"numpy.loadtxt

相关标签:
1条回答
  • 2020-12-15 20:58

    You are correct. Using np.genfromtxt gives you some options like the parameters missing_values, filling_values that can help you dealing with an incomplete csv. Example:

    1,2,,,5
    6,,8,,
    11,,,,
    

    Could be read with:

    filling_values = (111, 222, 333, 444, 555) # one for each column
    np.genfromtxt(filename, delimiter=',', filling_values=filling_values) 
    #array([[   1.,    2.,  333.,  444.,    5.],
    #       [   6.,  222.,    8.,  444.,  555.],
    #       [  11.,  222.,  333.,  444.,  555.]])
    

    The parameter unpack is useful when you want to put each column of the text file in a different variable. Example, you have the text file with columns x, y, z, then:

    x, y, z = np.loadtxt(filename, unpack=True)
    

    Note that this works the same as

    x, y, z = np.loadtxt(filename).T
    

    By default iterating over a 2-D array means iterating over the lines, that's why you have to transpose or use unpack=True in this example.

    0 讨论(0)
提交回复
热议问题