Vernier andmekoguja võib anda sellise tekstifaili, kuhu on kirjutatud üksteise järel mitu massiivi. Selliseid andmeid saab endiselt lugeda funktsiooniga pandas.read_csv, kui kasutada parameetreid skiprows ja nrows. Esimene näitab, mitu rida faili alguses ära jätta, ja teine näitab, mitu sellele järgnevat rida lugeda. Oletagem näiteks, et meil on teada esimese ja viimase rea järjekorranumbrid (seda võib järgi vaadata mõne reanumbreid näitava koodiredaktoriga, nagu Notepad++).

from pandas import read_csv

esimene, viimane = 8, 5008

andmed = read_csv('andmed.txt',
                   skiprows = esimene - 1,
                   nrows = viimane - esimene + 1,
                   decimal = ',',
                   delimiter = '\t',
                   usecols = (0, 1, 2),
                   dtype = float,
                   header = None).values

On ka mõeldav, et mõni andur ei suuda nõutud kiirusega mõõta. Sel juhul vastavas andmetulbas on mingi osa andmevälju tühjad. read_csv endiselt suudab lugeda selle massiivi arvulisel kujul, aga nendel kohtadel, kus andmed puuduvad, saab olema spetsiaalväärtus NaN (Not a Number). Need read tuleb kõrvaldada, kontrollides selle tulba elemente näiteks funktsiooniga np.isfinite. Oletagem näiteks, et puuduvad väärtused on kolmandas tulbas (ehk tulbas indeksiga 2):

olemas = np.isfinite(andmed[:,2])
andmed = andmed[olemas]

Vaata lisaks

Sisukord