Den numpy modulen i Python tillhandahåller en funktion för att ladda data från en textfil. Den numpy modulen ger loadtxt() funktion för att vara en snabb läsare för enkla textfiler.
Obs: I textfilen måste varje rad ha samma antal värden.
Syntax
numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)
Parametrar
Dessa är följande parameter i numpy .loadtxt()-funktionen:
fname: file, str eller pathlib.Path
Den här parametern definierar filen, filnamnet eller generatorn som ska läsas. Först kommer vi att dekomponera filen, om filnamnstillägget är .gz och .bz2 . Efter det kommer generatorerna att returnera bytesträngar för Pytonorm 3k.
dtype: data-type (valfritt)
Den här parametern definierar datatypen för den resulterande matrisen, och som standard kommer datatypen att vara flytande. Den resulterande arrayen kommer att vara 1-dimensionell när den är en strukturerad datatyp. Varje rad tolkas som ett matriselement och antalet använda kolumner måste matcha antalet fält i datatypen.
kommentarer: str eller sekvens (valfritt)
Den här parametern definierar tecknen eller listan över tecken som används för att indikera början på kommentaren. Som standard kommer det att vara ' # '.
avgränsare: str(valfritt)
Den här parametern definierar strängen som används för att separera värden. Som standard kommer det att vara vilket blanksteg som helst.
omvandlare: dict (valfritt)
Den här parametern definierar ett ordboksmappningskolumnnummer till en funktion som konverterar den mappade kolumnen till float. När kolumn() är en datumsträng då omvandlare={0:datestr2num} . Denna parameter används också för att tillhandahålla ett standardvärde för saknade data som omvandlare= {3: lambda s: float(s.strip() eller 0)} .
överhopp: int(valfritt)
Den här parametern används för att hoppa över de första 'överhoppen', och som standard blir den 0.
usecols: int eller sekvens (valfritt)
Den här parametern definierar kolumnerna som ska läsas, där 0 är den första. Till exempel, usecols=(0, 3, 5) extraherar 1:anst, 4th, och 5thkolumn. Som standard är dess värde Inget, vilket resulterar i att alla kolumner läses. I den nya versionen kan vi använda ett heltal istället för en tupel om vi vill läsa en enda kolumn.
packa upp: bool (valfritt)
Om den här parametern är inställd på sant, transponeras den returnerade matrisen, så att argument kan packas upp med x, y, z =loadtxt(...) . Matriserna returneras för varje fält när det används med den strukturerade datatypen. Som standard kommer den att vara inställd på False.
ndim: int (valfritt)
Den returnerade arrayen kommer att ha 'ndmin'-dimensioner. Annars kommer den att klämma ihop den endimensionella axeln. Lagliga värden: 0 (standard), 1 eller 2.
Returnerar: out(ndarray)
Den läser data från textfilen i form av en ndarray.
Exempel 1:
import numpy as np from io import StringIO c = StringIO(u'0 1 2 3') c np.loadtxt(c)
Produktion:
array([[0., 1.], [2., 3.]])
I ovanstående kod
alfabetet numrerat
- Vi har importerat numpy med alias np.
- Vi har också importerat StringIO från detta .
- Vi har deklarerat variabeln 'c' och tilldelat det returnerade värdet för StringIO()-funktionen.
- Vi har skickat unicode-data i funktionen.
- Till sist försökte vi skriva ut returvärdet på np.loadtxt() där vi skickade filen eller filnamnet.
I utgången visar den innehållet i filen i form av ndarray .
Exempel 2:
import numpy as np from io import StringIO d = StringIO(u'M 21 72 F 35 58') np.loadtxt(d, dtype={'names': ('gender', 'age', 'weight'),'formats': ('S1', 'i4', 'f4')})
Produktion:
array([('M', 21, 72.), ('F', 35, 58.)], dtype=[('gender', 'S1'), ('age', ' <i4'), ('weight', '<f4')]) < pre> <h3>Example 3:</h3> <pre> import numpy as np from io import StringIO c = StringIO(u'1,3,2 3,5,4') x, y = np.loadtxt(c, delimiter=',', usecols=(0, 2), unpack=True) x y </pre> <p> <strong>Output:</strong> </p> <pre> array([1., 3.]) array([2., 4.]) </pre> <p> <strong>In the above code</strong> </p> <ul> <li>We have imported numpy with alias name np.</li> <li>We have also imported <strong>StringIO</strong> from <strong>io</strong> . </li> <li>We have declared the variable 'c' and assigned the returned value of the StringIO() function.</li> <li>We have passed the unicode data in the function.</li> <li>Lastly, we tried to print the return value of np.loadtxt in which we passed the file or filename, set delimiter, usecols, and unpack to True.</li> </ul> <p>In the output, it displays the content of the file has been shown in the form of ndarray.</p> <hr></i4'),>
Produktion:
array([1., 3.]) array([2., 4.])
I ovanstående kod
- Vi har importerat numpy med alias np.
- Vi har också importerat StringIO från detta .
- Vi har deklarerat variabeln 'c' och tilldelat det returnerade värdet för StringIO()-funktionen.
- Vi har skickat unicode-data i funktionen.
- Till sist försökte vi skriva ut returvärdet för np.loadtxt där vi skickade filen eller filnamnet, satte avgränsare, usecols och packar upp till True.
I utgången visar den att innehållet i filen har visats i form av ndarray.