Programiranje

Kako koristiti Data Science za obradu podataka







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]:
imeprezimegodinapreTestRezultatpostTestRezultat
0JasnaMilan42425,000
1MarijaVlada522494,000
2Mira.363157
3JelenaJovica24.62
4MajaPerica73.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: 0imeprezimegodinapreTestRezultatpostTestRezultat
00JasnaMilan42425,000
11MarijaVlada522494,000
22Mira.363157
33JelenaJovica24.62
44MajaPerica73.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]:
012345
0NaNimeprezimegodinapreTestRezultatpostTestRezultat
10.0JasnaMilan42425,000
21.0MarijaVlada522494,000
32.0Mira.363157
43.0JelenaJovica24.62
54.0MajaPerica73.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]:
UIDImePrezimeGodinaPre-Test RezultatPost-Test Rezultat
0NaNimeprezimegodinapreTestRezultatpostTestRezultat
10.0JasnaMilan42425,000
21.0MarijaVlada522494,000
32.0Mira.363157
43.0JelenaJovica24.62
54.0MajaPerica73.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]:
ImePrezimeGodinaPre-Test RezultatPost-Test Rezultat
UID
NaNimeprezimegodinapreTestRezultatpostTestRezultat
0.0JasnaMilan42425,000
1.0MarijaVlada522494,000
2.0Mira.363157
3.0JelenaJovica24.62
4.0MajaPerica73.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]:
UIDGodinaPre-Test RezultatPost-Test Rezultat
ImePrezime
imeprezimeNaNgodinapreTestRezultatpostTestRezultat
JasnaMilan0.042425,000
MarijaVlada1.0522494,000
Mira.2.0363157
JelenaJovica3.024.62
MajaPerica4.073.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: 0imeprezimegodinapreTestRezultatpostTestRezultat
0FalseFalseFalseFalseFalseFalse
1FalseFalseFalseFalseFalseFalse
2FalseFalseTrueFalseFalseFalse
3FalseFalseFalseFalseTrueFalse
4FalseFalseFalseFalseTrueFalse
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: 0imeprezimegodinapreTestRezultatpostTestRezultat
00JasnaMilan42425,000
11MarijaVlada522494,000
22Mira.363157
33JelenaJovica24.62
44MajaPerica73.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]:
2Mira.363157
03JelenaJovica24.62
14MajaPerica73.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: 0imeprezimegodinapreTestRezultatpostTestRezultat
00JasnaMilan42425000
11MarijaVlada522494000
22Mira.363157
33JelenaJovica24.62
44MajaPerica73.70
In [ ]:
To bi bilo sve za sada.