logo

numpy.loadtxt() v Pythonu

Modul numpy v Pythonu nudi funkcijo za nalaganje podatkov iz besedilne datoteke. Modul numpy zagotavlja loadtxt() funkcija za hiter bralnik preprostih besedilnih datotek.

Opomba: V besedilni datoteki mora imeti vsaka vrstica enako število vrednosti.

Sintaksa

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

Parametri

To so naslednji parametri v funkciji numpy .loadtxt():

fname: datoteka, str ali pathlib.Path

Ta parameter določa datoteko, ime datoteke ali generator za branje. Najprej bomo datoteko razgradili, če je pripona imena datoteke .gz in .bz2 . Po tem bodo generatorji vrnili bajtne nize za Python 3k.

dtype: podatkovni tip (izbirno)

Ta parameter določa podatkovni tip za nastalo matriko in privzeto bo podatkovni tip float. Dobljena matrika bo enodimenzionalna, če je strukturiran podatkovni tip. Vsaka vrstica se interpretira kot element matrike, število uporabljenih stolpcev pa se mora ujemati s številom polj v podatkovnem tipu.

komentarji: str ali zaporedje (neobvezno)

Ta parameter določa znake ali seznam znakov, ki se uporabljajo za označevanje začetka komentarja. Privzeto bo ' # '.

ločilo: str (neobvezno)

delni derivat lateksa

Ta parameter določa niz, ki se uporablja za ločevanje vrednosti. Privzeto bo to poljuben presledek.

pretvorniki: dict (neobvezno)

Ta parameter definira številko stolpca preslikave slovarja v funkcijo, ki bo preslikani stolpec pretvorila v plavajoče. Ko je column() datumski niz, potem pretvorniki={0:datumstr2num} . Ta parameter se uporablja tudi za zagotavljanje privzete vrednosti za manjkajoče podatke kot pretvorniki= {3: lambda s: float(s.strip() ali 0)} .

skiprows: int (neobvezno)

Ta parameter se uporablja za preskok prvih 'skiprows' in privzeto bo 0.

usecols: int ali zaporedje (neobvezno)

Ta parameter določa stolpce za branje, pri čemer je 0 prvi. Na primer, usecols=(0, 3, 5) bo izvlekel 1st, 4th, in 5thstolpec. Privzeto je njegova vrednost None, zaradi česar so prebrani vsi stolpci. V novi različici lahko namesto tuple uporabimo celo število, če želimo brati en stolpec.

razpakiraj: bool (neobvezno)

Če je ta parameter nastavljen na true, se vrnjena matrika transponira, tako da se lahko argumenti razpakirajo z x, y, z =loadtxt(...) . Nizi so vrnjeni za vsako polje, ko ga uporabljate s strukturiranim podatkovnim tipom. Privzeto bo nastavljen na False.

ndim: int (izbirno)

Vrnjena matrika bo imela dimenzije 'ndmin'. V nasprotnem primeru bo stisnil enodimenzionalno os. Pravne vrednosti: 0 (privzeto), 1 ali 2.

Vrne: out(ndarray)

Bere podatke iz besedilne datoteke v obliki ndarray.

Primer 1:

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

Izhod:

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

V zgornji kodi

  • Uvozili smo numpy z vzdevkom np.
  • Imamo tudi uvožene StringIO od to .
  • Razglasili smo spremenljivko 'c' in dodelili vrnjeno vrednost funkcije StringIO().
  • V funkciji smo posredovali podatke Unicode.
  • Nazadnje smo poskusili natisniti vrnjeno vrednost np.loadtxt() v kateri smo posredovali datoteko ali ime datoteke.

V izhodu prikaže vsebino datoteke v obliki ndarray .

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

Izhod:

 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'),>

Izhod:

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

V zgornji kodi

  • Uvozili smo numpy z vzdevkom np.
  • Imamo tudi uvožene StringIO od to .
  • Razglasili smo spremenljivko 'c' in dodelili vrnjeno vrednost funkcije StringIO().
  • V funkciji smo posredovali podatke Unicode.
  • Nazadnje smo poskušali natisniti vrnjeno vrednost np.loadtxt, v kateri smo posredovali datoteko ali ime datoteke, nastavili ločilo, usecols in razpakirali na True.

V izhodu prikaže vsebino datoteke, prikazano v obliki ndarray.

java konec za zanko