Import a export dát
📥Úvod
Táto kapitola ukazuje najpoužívanejšie spôsoby, ako v NumPy načítať a ukladať dáta do textových a CSV súborov. Nájdete tu prehľad funkcií, praktické príklady a tipy pre bežné použitie
🧰 Rýchly prehľad funkcií
Úloha | Funkcia | Kedy použiť |
---|---|---|
Načítať „čisté“ numerické dáta | np.loadtxt |
Rýchle a jednoduché CSV/TXT bez chýbajúcich hodnôt |
Načítať „špinavé“ dáta s chýbajúcimi hodnotami | np.genfromtxt |
Lepšia tolerancia voči NaN , prázdnym poliam, vlastným konverziám |
Uložiť do TXT/CSV | np.savetxt |
Jednoduchý export s formátovaním |
(Mimo text/CSV) Binárne .npy/.npz | np.save , np.savez |
Najrýchlejšie a bezstratové ukladanie pre NumPy matice |
❗ Na zložitejšie textové a CSV súbory s hlavičkami, typmi stĺpcov či zmiešanými typmi je vhodné použiť knižnicu pandas (
read_csv
,to_csv
), ktorej sa budú venovať ďalšie kapitoly.
📤 Export: np.savetxt
Jednoduché TXT/CSV bez hlavičky
TXT/CSV s hlavičkou
Kód
Uložené do data_s_hlavickou.csv s hlavičkou.
[[ 1. 0. 10. ]
[ 2. 0.25 12.5 ]
[ 3. 0.5 15. ]
[ 4. 0.75 17.5 ]
[ 5. 1. 20. ]]
📥 Import: np.loadtxt
Základné načítanie TXT/CSV (oddelené čiarkou)
Kód
Načítaná matica z data.csv
[[ 0. 1. 2.]
[ 3. 4. 5.]
[ 6. 7. 8.]
[ 9. 10. 11.]]
Kód
Načítané (skiprows=1):
[[ 1. 0. 10. ]
[ 2. 0.25 12.5 ]
[ 3. 0.5 15. ]
[ 4. 0.75 17.5 ]
[ 5. 1. 20. ]]
💡 Je dôležíté preskočiť prvý riadok v ktorom sa nachádza uložená hlavička. V opačnom prípade dôjde k rozdielu dátových typov a súbor sa nepodarí načítať.
Výber konkrétnych stĺpcov a zmena typu
Kód
Vybrané stĺpce (poradove_cislo, a):
[[1. 0. ]
[2. 0.25]
[3. 0.5 ]
[4. 0.75]
[5. 1. ]]
⚠️ Bežné úskalia a tipy
- Hlavičky:
np.loadtxt
nečíta názvy stĺpcov, použite parameterskiprows=...
.np.genfromtxt
snames=True
vie mená načítať a vytvoriť „structured array“.
- Chýbajúce hodnoty:
- Použite
np.genfromtxt
smissing_values
afilling_values
. np.loadtxt
pri prázdnom poli zlyhá.
- Použite
- Formát čísel a oddeľovač:
- CSV v rôznych lokalizáciách môže používať
;
a desatinnú čiarku. - Rieš cez
delimiter=";"
aconverters={...}
(viď príklady).
- CSV v rôznych lokalizáciách môže používať
- Rýchlosť a veľké dáta:
- TXT/CSV je pomalší a stratový pre presnosť formátu.
- Pre rýchlosť a bezstratovosť používajte binárne formáty:
np.save
/np.load
(.npy
),np.savez
(.npz
).
- Zmiešané typy (text + čísla):
- Uvažujte
np.genfromtxt(..., dtype=None, encoding="utf-8")
alebo vytvorte structured array sdtype=[(...)]
. - Pri zložitejších CSV je často pohodlnejší pandas (
pd.read_csv
,df.to_csv
).
- Uvažujte
📦 Rýchle binárne uloženie (odporúčané pre NumPy polia)
Jedno pole
Viac polí
Kód
Kľúče v .npz: ['X', 'Y']
X: [0 1 2 3 4] Y: [0. 0.25 0.5 0.75 1. ]
🧠 Zhrnutie
- Čisté numerické CSV →
np.loadtxt
- Neúplné/špinavé CSV →
np.genfromtxt
- Export do textu/CSV →
np.savetxt
- Výkon a presnosť →
np.save
/np.savez
📚 Oficiálna dokumentácia NumPy
Podrobný popis funkcií, ich parametrov a príkladov použitia nájdete v oficiálnej dokumentácii knižnice NumPy na adrese: https://numpy.org/doc/stable/.