logo

numpy.loadtxt() a Pythonban

A Python numpy modulja egy funkciót biztosít az adatok szöveges fájlból való betöltésére. A numpy modul biztosítja loadtxt() funkcióval, hogy az egyszerű szövegfájlok gyors olvasója legyen.

Megjegyzés: A szövegfájlban minden sornak ugyanannyi értéket kell tartalmaznia.

Szintaxis

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

Paraméterek

Ezek a következő paraméterek a numpy .loadtxt() függvényben:

fname: fájl, str vagy pathlib.Path

Ez a paraméter határozza meg az olvasandó fájlt, fájlnevet vagy generátort. Először is bontjuk a fájlt, ha a fájlnév kiterjesztése az .gz és .bz2 . Ezt követően a generátorok a következő bájtkarakterláncokat adják vissza Piton 3k.

dtype: adattípus (nem kötelező)

tostring metódus java

Ez a paraméter határozza meg az eredményül kapott tömb adattípusát, és alapértelmezés szerint az adattípus a float lesz. Az eredményül kapott tömb egydimenziós lesz, ha strukturált adattípus. Minden sor tömbelemként értelmeződik, és a használt oszlopok számának meg kell egyeznie az adattípus mezőinek számával.

megjegyzések: str vagy sorrend (opcionális)

Ez a paraméter határozza meg a megjegyzés kezdetének jelzésére használt karaktereket vagy karakterlistát. Alapértelmezés szerint ez lesz # '.

határoló: str (nem kötelező)

lista vs beállított java

Ez a paraméter határozza meg az értékek elválasztásához használt karakterláncot. Alapértelmezés szerint tetszőleges szóköz lesz.

konverterek: dict (opcionális)

Ez a paraméter egy szótári oszlopszám-leképezést határoz meg egy függvényhez, amely a leképezett oszlopot lebegővé alakítja. Ha az oszlop() egy dátum karakterlánc, akkor converters={0:datestr2num} . Ez a paraméter a hiányzó adatok alapértelmezett értékének megadására is szolgál konverterek= {3: lambda s: float(s.strip() or 0)} .

skiprows: int (nem kötelező)

Ez a paraméter az első „kihagyások” kihagyására szolgál, és alapértelmezés szerint 0 lesz.

kali linux parancsokat

usecols: int vagy szekvencia (opcionális)

Ez a paraméter határozza meg az olvasandó oszlopokat, ahol a 0 az első. Például a usecols=(0, 3, 5) kivonja az 1-etutca, 4thés 5thoszlop. Alapértelmezés szerint értéke None, ami azt eredményezi, hogy az összes oszlop beolvasásra kerül. Az új verzióban sor helyett egész számot használhatunk, ha egyetlen oszlopot szeretnénk olvasni.

kicsomagolás: bool (opcionális)

Ha ez a paraméter igazra van állítva, akkor a visszaadott tömb transzponálva lesz, így az argumentumok kicsomagolhatók a x, y, z =loadtxt(...) . A tömbök minden mezőhöz visszaküldésre kerülnek, ha strukturált adattípussal használják. Alapértelmezés szerint False értékre lesz állítva.

ndim: int (nem kötelező)

A visszaadott tömb 'ndmin' dimenziókkal rendelkezik. Ellenkező esetben összenyomja az egydimenziós tengelyt. Jogi értékek: 0 (alapértelmezett), 1 vagy 2.

párhuzamos feldolgozás

Visszatérés: ki (ndarray)

Adatokat olvas be a szöveges fájlból ndarray formájában.

1. példa:

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

Kimenet:

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

A fenti kódban

típusú java változókat
  • Importáltuk a numpy-t np aliasnévvel.
  • Importáltunk is StringIO tól től ez .
  • Deklaráltuk a 'c' változót, és hozzárendeltük a StringIO() függvény visszaadott értékét.
  • A függvényben átadtuk a unicode adatokat.
  • Végül megpróbáltuk kinyomtatni a visszatérési értékét np.loadtxt() amelyben átadtuk a fájlt vagy fájlnevet.

A kimenetben a fájl tartalmát mutatja formában ndarray .

2. példa:

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

Kimenet:

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

Kimenet:

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

A fenti kódban

  • Importáltuk a numpy-t np aliasnévvel.
  • Importáltunk is StringIO tól től ez .
  • Deklaráltuk a 'c' változót, és hozzárendeltük a StringIO() függvény visszaadott értékét.
  • A függvényben átadtuk a unicode adatokat.
  • Végül megpróbáltuk kinyomtatni az np.loadtxt visszatérési értékét, amelyben átadtuk a fájlt vagy a fájlnevet, beállítottuk a határolót, a usecols-t és a kicsomagolást True értékre.

A kimenetben a fájl tartalmát jeleníti meg ndarray formájában.