logo

numpy.loadtxt() in Python

De numpy-module van Python biedt een functie om gegevens uit een tekstbestand te laden. De numpy-module biedt laadtxt() functie als snelle lezer voor eenvoudige tekstbestanden.

Opmerking: in het tekstbestand moet elke rij hetzelfde aantal waarden hebben.

Syntaxis

 numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0) 

Parameters

Dit zijn de volgende parameters in de numpy .loadtxt() functie:

fname: bestand, str of pathlib.Path

gigabyte versus megabyte

Deze parameter definieert het bestand, de bestandsnaam of de generator die moet worden gelezen. Eerst zullen we het bestand ontleden, als de bestandsnaamextensie .gz En .bz2 . Daarna zullen de generatoren bytereeksen retourneren Python 3k.

dtype: gegevenstype (optioneel)

Deze parameter definieert het gegevenstype voor de resulterende array, en standaard is het gegevenstype float. De resulterende array zal 1-dimensionaal zijn als het een gestructureerd gegevenstype is. Elke rij wordt geïnterpreteerd als een array-element en het aantal gebruikte kolommen moet overeenkomen met het aantal velden in het gegevenstype.

opmerkingen: str of reeks (optioneel)

Deze parameter definieert de tekens of de lijst met tekens die worden gebruikt om het begin van de opmerking aan te geven. Standaard zal dit ' # '.

scheidingsteken: str(optioneel)

Deze parameter definieert de tekenreeks die wordt gebruikt voor het scheiden van waarden. Standaard is dit elke witruimte.

converters: dict (optioneel)

Deze parameter definieert een woordenboektoewijzingskolomnummer aan een functie die de toegewezen kolom naar de float converteert. Wanneer column() een datumtekenreeks is, dan converters={0:datestr2num} . Deze parameter wordt ook gebruikt om een ​​standaardwaarde op te geven voor ontbrekende gegevens as converters= {3: lambda s: float(s.strip() of 0)} .

skiprows: int(optioneel)

Deze parameter wordt gebruikt om de eerste 'skiprows' over te slaan en is standaard 0.

usecols: int of sequence(optioneel)

Deze parameter definieert de kolommen die moeten worden gelezen, waarbij 0 de eerste is. Usecols=(0, 3, 5) extraheert bijvoorbeeld de 1st, 4een 5ekolom. Standaard is de waarde Geen, wat ertoe leidt dat alle kolommen worden gelezen. In de nieuwe versie kunnen we een geheel getal gebruiken in plaats van een tuple als we een enkele kolom willen lezen.

uitpakken: bool (optioneel)

Als deze parameter is ingesteld op true, wordt de geretourneerde array getransponeerd, zodat argumenten kunnen worden uitgepakt met behulp van x, y, z =laadtxt(...) . De arrays worden voor elk veld geretourneerd als het wordt gebruikt met het gestructureerde gegevenstype. Standaard is dit ingesteld op False.

ndim: int(optioneel)

De geretourneerde array heeft 'ndmin'-dimensies. Anders wordt de monodimensionale as samengedrukt. Wettelijke waarden: 0 (standaard), 1 of 2.

Retourneert: uit (ndarray)

Het leest gegevens uit het tekstbestand in de vorm van een ndarray.

Voorbeeld 1:

 import numpy as np from io import StringIO c = StringIO(u'0 1
2 3') c np.loadtxt(c) 

Uitgang:

 array([[0., 1.], [2., 3.]]) 

In de bovenstaande code

  • We hebben numpy geïmporteerd met aliasnaam np.
  • Wij hebben ook geïmporteerd StringIO van dit .
  • We hebben de variabele 'c' gedeclareerd en de geretourneerde waarde van de StringIO()-functie toegewezen.
  • We hebben de Unicode-gegevens in de functie doorgegeven.
  • Ten slotte hebben we geprobeerd de retourwaarde van af te drukken np.loadtxt() waarin we het bestand of de bestandsnaam hebben doorgegeven.

In de uitvoer wordt de inhoud van het bestand weergegeven in de vorm van ndarray .

Voorbeeld 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')}) 

Uitgang:

 array([(&apos;M&apos;, 21, 72.), (&apos;F&apos;, 35, 58.)], dtype=[(&apos;gender&apos;, &apos;S1&apos;), (&apos;age&apos;, &apos; <i4'), ('weight', '<f4')]) < pre> <h3>Example 3:</h3> <pre> import numpy as np from io import StringIO c = StringIO(u&apos;1,3,2
3,5,4&apos;) x, y = np.loadtxt(c, delimiter=&apos;,&apos;, 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 &apos;c&apos; 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'),>

Uitgang:

 array([1., 3.]) array([2., 4.]) 

In de bovenstaande code

  • We hebben numpy geïmporteerd met aliasnaam np.
  • Wij hebben ook geïmporteerd StringIO van dit .
  • We hebben de variabele 'c' gedeclareerd en de geretourneerde waarde van de StringIO()-functie toegewezen.
  • We hebben de Unicode-gegevens in de functie doorgegeven.
  • Ten slotte hebben we geprobeerd de retourwaarde van np.loadtxt af te drukken waarin we het bestand of de bestandsnaam hebben doorgegeven, het scheidingsteken hebben ingesteld, cols hebben gebruikt en uitgepakt naar True.

In de uitvoer wordt weergegeven dat de inhoud van het bestand is weergegeven in de vorm van ndarray.