SAMSUNG 042024 Advertisement SAMSUNG 042024 Advertisement SAMSUNG 042024 Advertisement

ML v Pythone 3 – export a import údajov vo formáte CSV a Excel

0

predchádzajúcej časti sme predstavili knižnicu Pandas na prácu s údajmi vrátane štatistík a analýz. V téme budeme pokračovať importom a exportom údajov vo formáte CSV, čiže hodnoty oddelené čiarkou a taktiež do dokumentov Excelu s príponou xlsx.

Postup vytvorenia príkladov je v krátkom videu

Najskôr ukážeme export údajov z DataFrame do súboru vo formáte CSV. Použijeme kód na vytvorenie tabuľky s ktorou budeme pracovať aj v ďalších príkladoch.

import numpy as np
import pandas as pd
 
data_ludia = {'Ev_cislo':[132,133,134,135,136],
      'Priezvisko': ['Kukučka','Zalabak','Novák','Dvorak','Abel'],\
      'Vek':[32,37,37,26,51],
      'mzda':[1200,860,1600,1100,1350] }
df_ludia = pd.DataFrame(data_ludia)
print (df_ludia)  
 
Ev_cislo Priezvisko  Vek  mzda
0       132    Kukučka   32  1200
1       133    Zalabak   37   860
2       134      Novák   37  1600
3       135     Dvorak   26  1100
4       136       Abel   51  1350

Prvým krokom je pripojenie vášho Disku Google do služby Google Colab. Umožní vám to pristupovať k súborom na Disku Google zo zápisníka Colab.

from google.colab import drive
drive.mount('/content/drive')
df_ludia.to_csv('/content/drive/My Drive/MojeData/ludia.csv', index=False)

Zobrazí sa výzva na overenie účtu Google a udelenie povolenia zápisníku Colab na prístup k vášmu Disku Google. Udelením prístupu umožníte kódu spustenom v zápisníku služby Colab meniť súbory na vašom Disku Google.

DataFrame môžete uložiť ako súbor CSV pomocou metódy to_csv(). V našom príklade uložíme údaje do súboru pc_komponenty.csv v zložke MojeData. Zložku je potrebné vytvoriť pred spustením kódu. Parameter index=False spôsobí, že do CSV súboru nebudú zapísané indexy

Ev_cislo,Priezvisko,Vek,mzda
132,Kukučka,32,1200
133,Zalabak,37,860
134,Novák,37,1600
135,Dvorak,26,1100
136,Abel,51,1350

Ak chcete zapísať aj indexy, použite parameter index=True

df_ludia.to_csv('/content/drive/My Drive/MojeData/ludia1.csv', index=True)

V CSV súbore bude zapísané údaje v tvare

,Ev_cislo,Priezvisko,Vek,mzda
0,132,Kukučka,32,1200
1,133,Zalabak,37,860
2,134,Novák,37,1600
3,135,Dvorak,26,1100
4,136,Abel,51,1350

Súbor s vyexportovanými údajmi môžete zobraziť priamo v Disku Google, priamo,

alebo cez Tabuľky Google alebo si ho môžete stiahnuť do svojho počítača. V prvom riadku súboru, ktorý tvorí záhlavie sú názvy jednotlivých stĺpcov.

Teraz príkazom pr.read_csv() načítame údaje zo súboru CSV do štruktúry DataFrame, ktorú sme pomenovali df_nacitany. Bude to zároveň aj kontrola, či sa údaje zapísali a čí sa zapísali správne, takže údaje necháme aj vypísať

df_nacitany = pd.read_csv('/content/drive/My Drive/MojeData/ludia.csv')
print(df_nacitany)    

Ak v prvom riadku CSV súboru nie sú záhlavia, napríklad

132,Kukučka,32,1200
133,Zalabak,37,860
134,Novák,37,1600
135,Dvorak,26,1100
136,Abel,51,1350

Môžete ich doplniť pri načítaní

df = pd.read_csv('/content/drive/My Drive/MojeData/ludia_bez_atributov.csv', names=('Ev_cislo', 'Priezvisko', 'Vek', 'mzda'))
df    

Knižnica Pandas umožňuje údaje uložiť aj vo formáte dokumentu Excel

subor_Excel = pd.ExcelWriter('/content/drive/My Drive/MojeData/ludia2.xlsx')
df_ludia.to_excel(subor_Excel, index=False)
subor_Excel.save()    

Síce sa zobrazí hlásenie ohľadne možnej budúcej nekompatibility, ale export sa vykoná

ipython-input-6-bc396458c25f>:3: FutureWarning: save is not part of the public API, usage can give unexpected results and will be removed in a future version
  subor_Excel.save()    

Nás bude najviac zaujímať načítanie údajov, ktoré sme nejakým spôsobom získali, napríklad meraním, exportom z nejakej aplikácie monitorujúcej procesu a podobne. V príklade použijeme údaje vo formáte CSV zo stránky https://www.datablist.com/learn/csv/download-sample-csv-files, konkrétne dátovú množinu People obsahujúcu atribúty Index, User Id, First Name, Last Name, Sex, Email, Phone, Date of birth, Job Title. Na stránke sú verzie od 100 po 2 milióny záznamov. SMy budeme používat verziu s 1 000 záznamami. Stiahneme ju a uložíme na Google Disk do nami vytvorenej zložky MojeData.

df_people = pd.read_csv('/content/drive/My Drive/MojeData/People-1000.csv')
df_people    

Všimnite si, že vo výpise takejto veľkej tabuľky sa zobrazí len prvých a posledných 5 riadkov

Len pre zaujímavosť, ktorá by sa niekedy mohla hodiť ukážeme transformáciu údajov z DataFrame tak, že stĺpce sa pretransformujú na riadky a opačne riadky sa pretransformujú na stĺpce. Získame teda tabuľku 9 riadkov x 1000 stĺpcov. Vo výpise sa zobrazí prvých a posledných 10 stĺpcov. Údaje v DataFrame zostanú v pôvodnej podobe, čiže 1000 riadkov a 10 stĺpcov.

df_people.T

Samozrejme môžete vytvoriť nový DataFrame s transformovanou štruktúrou

df1 = df_people.T

Ukážeme aj načítanie údajov z hárku programu Excel, čiže súboru s príponou xlsx. Použili sme súbor Employee Sample Data.xlsx zo stránky https://www.thespreadsheetguru.com/sample-data/ Súbor najskôr nahráme do Disku Google a následne ho načítame do štruktúry Data Frame

df_excel = pd.read_excel('/content/drive/My Drive/MojeData/Employee Sample Data.xlsx')
df_excel

Načíta sa aj tabuľka s nepravidelnou štruktúrou, prázdne bunky budú doplnené hodnotou NaN

V budúcom pokračovaní ukážeme príkazy na prácu s údajmi vrátane štatistiky a analýz

Predchádzajúce diely:

Strojové učenie v Pythone 1 – prostredie Google Colab

Strojové učenie v Pythone 2 – knižnica Pandas na prácu s údajmi

Zobrazit Galériu

Luboslav Lacko

Všetky autorove články
strojove ucenie Pyuthon Google Colab Pandad

Pridať komentár

Mohlo by vás zaujímať

Mohlo by vás zaujímať