Svaka kolona podataka u pandas DataFrame-u ima tip podatka. Ovo je vrlo sličan koncept tipovima podataka u Python-u. Kao što svaki Python objekat ima tip, svaka kolona ima tip podataka.
Tipovi podataka koji se često pojavljuju u DataFrames-u su:
Kolone objekata mogu da sadrže cele brojeve, decimalne brojeve ili čak složene tipove kao što su liste ili rečnici. Bilo šta može biti sadržano u kolonama objekata. Kada vidite da je kolona tipa object trebalo bi da očekujete da će vrednosti biti stringovi. Pandas ne pruža svojim korisnicima određeni tip podataka za stringove, tako da ako imate stringove u svojim kolonama, tip podataka će biti object.
Poznavanje tipa podataka svake kolone vašeg pandas DataFrame-a je veoma važno. Glavni razlog za to je što će svaka vrednost u svakoj koloni biti istog tipa. Na primer, ako izaberete jednu vrednost iz kolone koja ima celobrojni tip podataka, onda vam je zagarantovano da je i ova vrednost ceo broj. Poznavanje tipa podataka kolone je jedan od najosnovnijih delova znanja o vašem DataFrame-u.
NaN, None i NaT¶Pandas različito predstavlja vrednosti koje nedostaju na osnovu tipa podataka kolone.
NaN (not a number) tehnički je tip podataka floatNone koristi se za nedostajuće vrednosti u kolonama tipa objectNaT (not a time) koristi se za nedostajuće vrednosti u kolonama datuma i vremenaboolean i integer - Ne postoji prikaz za nedostajuće vrednosti za logičke i celobrojne kolone.
floats - Koristi samo NaN kao vrednost koja nedostaje.
object – Kolone tipa object mogu da sadrže bilo koji Python objekat tako da se sva tri nedostajuća prikaza vrednosti mogu pojaviti u ovim kolonama, ali obično će biti ili NaN ili None.
datetime - Koristi samo NaT kao vrednost koja nedostaje.
Atribut DataFrame dtypes (nije metod) vraća tip podataka svake kolone. Vraćeni podaci su Series sa nazivima kolona koji su sada u indeksu i tipom podataka kao vrednostima.
import pandas as pd
df1 = pd.read_csv('../datasets/data.csv')
df1.head()
df1.dtypes
Metapodaci se mogu definisati kao podaci o podacima. Tip podataka svake kolone je primer metapodataka. Broj redova i kolona je još jedan deo metapodataka.
Atribut shape vraća niz celih brojeva (broj redova, broj kolona).
df1.shape
Atribut size vraća ukupan broj vrednosti (broj kolona pomnožen brojem redova) u DataFrame-u.
df1.size
Metoda info pored tipa podatka svake kolone, pokazuje broj vrednosti koje nedostaju u svakoj koloni zajedno sa više informacija kao što su:
df1.info()
Odredi tip objekta koji vraća atribut dtypes.
Odredi tip objekta koji vraća atribut shape.
Koji tip objekta vraća metod info?
Indeks DataFrame-a obezbeđuje oznaku za svaki od redova. Ako nije eksplicitno navedeno, indeks će biti niz uzastopnih celih brojeva koji počinju od 0.
U ovom delu ćemo postaviti jednu od kolona DataFrame-a kao novi indeks tako da svakom redu daje značajniju oznaku.
import pandas as pd
dfMy = pd.read_csv('../datasets/nutrients_csvfile.csv')
dfMy.head()
set_index¶Moguće je podesiti indeks nakon čitanja podataka metodom set_index. Prosledite samo ime kolone koju želite da koristite kao indeks.
import pandas as pd
dfMy = pd.read_csv('../datasets/nutrients_csvfile.csv')
dfMy= dfMy.set_index('Food')
dfMy.head()
import pandas as pd
dfMy = pd.read_csv('../datasets/nutrients_csvfile.csv')
"""
set_index pravi potpuno novu kopiju podataka i ne menja pozivni DataFrame.
Ako pokrenemo iste komande, ali ne dodelimo rezultat metoda set_index, DataFrame neće biti promenjen.
"""
dfMy.set_index('Food')
dfMy.head()
index, columns, i values¶DataFrame se sastoji od tri komponente – indeksa, kolona i podataka. Moguće je izdvojiti svaku komponentu i dodeliti je sopstvenoj promenljivoj.
import pandas as pd
dfMy = pd.read_csv('../datasets/nutrients_csvfile.csv')
dfMy.head(3)
indeksi = dfMy.index
kolone = dfMy.columns
vrednosti = dfMy.values
indeksi
kolone
vrednosti