Programiranje

Kako koristiti Data Science za obradu podataka

Sending
User Review
0 (0 votes)







In [ ]:
Prvo što ćemo uraditi to je da pozovemo module
In [2]:
import pandas as pd
import numpy as np 
In [ ]:
Sada ćemo kreirati Data Frame za naše podatke koji ćemo dodavati
In [3]:
raw_data = {'ime': ['Jasna', 'Marija', 'Mira', 'Jelena', 'Maja'], 
        'prezime': ['Milan', 'Vlada', ".", 'Jovica', 'Perica'], 
        'godina': [42, 52, 36, 24, 73],
        'preTestRezultat': [4, 24, 31, ".", "."],
        'postTestRezultat': ["25,000", "94,000", 57, 62, 70]}
df = pd.DataFrame(raw_data, columns = ['ime', 'prezime', 'godina', 'preTestRezultat', 'postTestRezultat'])
df
Out[3]:
ime prezime godina preTestRezultat postTestRezultat
0 Jasna Milan 42 4 25,000
1 Marija Vlada 52 24 94,000
2 Mira . 36 31 57
3 Jelena Jovica 24 . 62
4 Maja Perica 73 . 70
In [ ]:
Sledećom komandom ćemo sačuvati naše podatke sa ekstenzijom .csv u prethodno napravljen direktorijum negde na desktopu
In [4]:
df.to_csv('/home/moses/Desktop/panda_data/primer2.csv')
In [ ]:
Sada ćemo da uvezemo podatke
In [5]:
df = pd.read_csv('/home/moses/Desktop/panda_data/primer2.csv')
df
Out[5]:
Unnamed: 0 ime prezime godina preTestRezultat postTestRezultat
0 0 Jasna Milan 42 4 25,000
1 1 Marija Vlada 52 24 94,000
2 2 Mira . 36 31 57
3 3 Jelena Jovica 24 . 62
4 4 Maja Perica 73 . 70
In [ ]:
Sada ćemo da uvezemo fajl, ali bez hedera
In [6]:
df = pd.read_csv('/home/moses/Desktop/panda_data/primer2.csv', header=None)
df
Out[6]:
0 1 2 3 4 5
0 NaN ime prezime godina preTestRezultat postTestRezultat
1 0.0 Jasna Milan 42 4 25,000
2 1.0 Marija Vlada 52 24 94,000
3 2.0 Mira . 36 31 57
4 3.0 Jelena Jovica 24 . 62
5 4.0 Maja Perica 73 . 70
In [ ]:
Sada ćemo uvesti ponovo fajl, s tim da ima posebna imena kolona
In [7]:
df = pd.read_csv('/home/moses/Desktop/panda_data/primer2.csv', names=['UID', 'Ime', 'Prezime', 'Godina', 'Pre-Test Rezultat', 'Post-Test Rezultat'])
df
Out[7]:
UID Ime Prezime Godina Pre-Test Rezultat Post-Test Rezultat
0 NaN ime prezime godina preTestRezultat postTestRezultat
1 0.0 Jasna Milan 42 4 25,000
2 1.0 Marija Vlada 52 24 94,000
3 2.0 Mira . 36 31 57
4 3.0 Jelena Jovica 24 . 62
5 4.0 Maja Perica 73 . 70
In [ ]:
Ovde ćemo podeisti index kolone sa ID korisnika (UID)
In [10]:
df = pd.read_csv('/home/moses/Desktop/panda_data/primer2.csv', index_col='UID', names=['UID', 'Ime', 'Prezime', 'Godina', 'Pre-Test Rezultat', 'Post-Test Rezultat'])
df
Out[10]:
Ime Prezime Godina Pre-Test Rezultat Post-Test Rezultat
UID
NaN ime prezime godina preTestRezultat postTestRezultat
0.0 Jasna Milan 42 4 25,000
1.0 Marija Vlada 52 24 94,000
2.0 Mira . 36 31 57
3.0 Jelena Jovica 24 . 62
4.0 Maja Perica 73 . 70
In [ ]:
Name Sada ćemo da uvezemo fajl sa index kolonama za Ime i Prezime
In [11]:
df = pd.read_csv('/home/moses/Desktop/panda_data/primer2.csv', index_col=['Ime', 'Prezime'], names=['UID', 'Ime', 'Prezime', 'Godina', 'Pre-Test Rezultat', 'Post-Test Rezultat'])
df
Out[11]:
UID Godina Pre-Test Rezultat Post-Test Rezultat
Ime Prezime
ime prezime NaN godina preTestRezultat postTestRezultat
Jasna Milan 0.0 42 4 25,000
Marija Vlada 1.0 52 24 94,000
Mira . 2.0 36 31 57
Jelena Jovica 3.0 24 . 62
Maja Perica 4.0 73 . 70
In [ ]:
Sad možemo uvesti fajl sa specifičnim vrednostima koja nedostaju
In [12]:
df = pd.read_csv('/home/moses/Desktop/panda_data/primer2.csv', na_values=['.'])
pd.isnull(df)
Out[12]:
Unnamed: 0 ime prezime godina preTestRezultat postTestRezultat
0 False False False False False False
1 False False False False False False
2 False False True False False False
3 False False False False True False
4 False False False False True False
In [ ]:
Sledeće možemo probati da uvezemo takođe "." i "NA" kao vrednosti koje nedostaju u kolni Prezime, kao i "." vrednost koja nedostaje u PreTest koloni
In [13]:
sentinels = {'Ime': ['.', 'NA'], 'Pre-Test Rezultat': ['.']}
In [14]:
df = pd.read_csv('/home/moses/Desktop/panda_data/primer2.csv', na_values=sentinels)
df
Out[14]:
Unnamed: 0 ime prezime godina preTestRezultat postTestRezultat
0 0 Jasna Milan 42 4 25,000
1 1 Marija Vlada 52 24 94,000
2 2 Mira . 36 31 57
3 3 Jelena Jovica 24 . 62
4 4 Maja Perica 73 . 70
In [ ]:
Sada možemo isključiti par kolona
In [15]:
df = pd.read_csv('/home/moses/Desktop/panda_data/primer2.csv', na_values=sentinels, skiprows=3)
df
Out[15]:
2 Mira . 36 31 57
0 3 Jelena Jovica 24 . 62
1 4 Maja Perica 73 . 70
In [ ]:
Sada u fajlu možemo isključiti "," i tako videti ceo broj
In [16]:
df = pd.read_csv('/home/moses/Desktop/panda_data/primer2.csv', thousands=',')
df
Out[16]:
Unnamed: 0 ime prezime godina preTestRezultat postTestRezultat
0 0 Jasna Milan 42 4 25000
1 1 Marija Vlada 52 24 94000
2 2 Mira . 36 31 57
3 3 Jelena Jovica 24 . 62
4 4 Maja Perica 73 . 70
In [ ]:
To bi bilo sve za sada.