Slušaj robot čitača

Dodavanje podataka pomoću serije

Sadržaj strane:
domaće = pd.Series([1,1,0,0,0,1,1,1,1])
voće["Domaće"] = domaće
voće
Voće Boja Bobica Domaće
0 jabuke Zelena 0 1
1 maline Crvena 0 1
2 banane Žuta 1 0
3 kivi Zelena 1 0
4 pomoradža Narandžasta 1 0
5 lubenica Crvena 1 1
6 šljiva Ljubičasta 0 1
7 kajsija Narandžasta 0 1
8 borovnica Plava 1 1

U ovom slučaju, moramo koristiti sintaksu sa zagradama, i Pandas nas neće pustiti da dodamo novu kolonu sintaksom tačke.

Dodavanje podataka iz liste

U ovom slučaju je obavezno da lista ima isti broj mesta kao i dataframe

varijabla = [0,1,2,3,4,5,6,7,8]
voće.Varijabla = varijabla
voće
Voće Boja Bobica Domaće Varijabla
0 jabuke Zelena 0 1 0
1 maline Crvena 0 1 1
2 banane Žuta 1 0 2
3 kivi Zelena 1 0 3
4 pomoradža Narandžasta 1 0 4
5 lubenica Crvena 1 1 5
6 šljiva Ljubičasta 0 1 6
7 kajsija Narandžasta 0 1 7
8 borovnica Plava 1 1 8

Kreiranje kolone od druge kolone

voće["Čarobno"] = voće.Bobica * voće.Domaće
voće
Voće Boja Bobica Domaće Varijabla Čarobno
0 jabuke Zelena 0 1 0 0.0
1 maline Crvena 0 1 1 0.0
2 banane Žuta 1 0 2 0.0
3 kivi Zelena 1 0 3 0.0
4 pomoradža Narandžasta 1 0 4 0.0
5 lubenica Crvena 1 1 5 1.0
6 šljiva Ljubičasta 0 1 6 0.0
7 kajsija Narandžasta 0 1 7 0.0
8 borovnica Plava 1 1 8 1.0

Dodavanje podataka iz jedne vrednosti

voće["brojCrva"] = 0
voće
Voće Boja Bobica Domaće Varijabla Čarobno brojCrva
0 jabuke Zelena 0 1 0 0.0 0
1 maline Crvena 0 1 1 0.0 0
2 banane Žuta 1 0 2 0.0 0
3 kivi Zelena 1 0 3 0.0 0
4 pomoradža Narandžasta 1 0 4 0.0 0
5 lubenica Crvena 1 1 5 1.0 0
6 šljiva Ljubičasta 0 1 6 0.0 0
7 kajsija Narandžasta 0 1 7 0.0 0
8 borovnica Plava 1 1 8 1.0 0

Brisanje podataka

voće.drop("Varijabla", axis=1)
Voće Boja Bobica Domaće Čarobno brojCrva
0 jabuke Zelena 0 1 0.0 0
1 maline Crvena 0 1 0.0 0
2 banane Žuta 1 0 0.0 0
3 kivi Zelena 1 0 0.0 0
4 pomoradža Narandžasta 1 0 0.0 0
5 lubenica Crvena 1 1 1.0 0
6 šljiva Ljubičasta 0 1 0.0 0
7 kajsija Narandžasta 0 1 0.0 0
8 borovnica Plava 1 1 1.0 0

Randomizacija podataka

voće.sample(frac=.5)

Voće Boja Bobica
6 šljiva Ljubičasta 0
0 jabuke Zelena 0
7 kajsija Narandžasta 0
3 kivi Zelena 1

U ovom slučaju smo uzeli samo pola od svih podataka, i to pola je nasumice probrano iz originalnog uzorka. Ako želimo samo da izmiksamo uzorak, jer možda mislimo da redosled podataka ima uticaja na rezultat, koristili bismo:

voćnaSalata = voće.sample(frac=1)

Čime bismo zadržali celokupan uzorak.

Uzimanje randomizovanih frakcija je od koristi, jer je standardna praksa da se deo podataka koristi za treniranje modela, a deo za testiranje. Ako model pogodi visok procenat podata na kojima se testira, onda imamo dobar model.

Resetovanje indexa

Nakon što smo randomizovali podatke, možda odlučimo da želimo da reindexiramo podatke kako bi i indexi odražavali novi redosled:

voćnaSalata.resetIndex

Ovo će međutim zadržati i staru kolonu s starim redosledom indexa. Da bismo izbegli dupliranje kolone indexa, koristili bismo:

voće.reset_index(drop=True)

Ili možemo koristiti voće.drop("Index", axis=1) ako smo već kreirali kolonu s suvišnim indexima

Primena Lambda funkcija na kolone

Lambda funkcije su vrlo moćno oruđe, i ovde ćemo pokazati kako one rade tako što ćemo izmeniti kolonu Bobica, koju ćemo konvertovati u boolean vrednosti.

d = { 0 : False, 1: True }
voće.Bobica = voće.Bobica.apply(lambda x: d[x])
voće

Voće Boja Bobica
0 Maline Crvena False
1 Kivi Zelena True
2 Jabuke Zelena False
3 Kajsija Narandžasta False
4 Borovnica Plava True
5 Pomoradža Narandžasta True
6 Šljiva Ljubičasta False
7 Banane Žuta True
8 Lubenica Crvena True

Ovde smo prvo kreirali dictionary d, na osnovu koga se vrši konverzija u lambda funkciji

ili alternativno[1]:

voće.Bobica = voće.Bobica.astype('bool')

Što daje isti rezultat, ali ne koristi lambda funkcije koje su ovde tema

Članak prvi put objavljen: 28.4.2021.

Poslednje izmene: 31.1.2022.

Autor: k.

Top