$$ \newcommand{\floor}[1]{\left\lfloor{#1}\right\rfloor} \newcommand{\ceil}[1]{\left\lceil{#1}\right\rceil} \renewcommand{\mod}{\,\mathrm{mod}\,} \renewcommand{\div}{\,\mathrm{div}\,} \newcommand{\metar}{\,\mathrm{m}} \newcommand{\cm}{\,\mathrm{cm}} \newcommand{\dm}{\,\mathrm{dm}} \newcommand{\litar}{\,\mathrm{l}} \newcommand{\km}{\,\mathrm{km}} \newcommand{\s}{\,\mathrm{s}} \newcommand{\h}{\,\mathrm{h}} \newcommand{\minut}{\,\mathrm{min}} \newcommand{\kmh}{\,\mathrm{\frac{km}{h}}} \newcommand{\ms}{\,\mathrm{\frac{m}{s}}} \newcommand{\mss}{\,\mathrm{\frac{m}{s^2}}} \newcommand{\mmin}{\,\mathrm{\frac{m}{min}}} \newcommand{\smin}{\,\mathrm{\frac{s}{min}}} $$

Prijavi problem


Obeleži sve kategorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.

13. час: Утврђивање градива

Сада ћемо мало застати и осврнути се на материјал са последња два часа. Задатке (осим првог) реши у Џупајтеру.

Задатак 1. Погледај пажљиво наредбе у следећој ћелији, па одговори на питања:

In [ ]:
import pandas as pd

temp_anomalije = pd.read_csv("podaci/TemperaturneAnomalije.csv", header=None)
temp_anomalije1 = temp_anomalije.T
temp_anomalije1.columns = ["Година", "Аномалија"]

drzave = pd.read_csv("https://raw.githubusercontent.com/cs109/2014_data/master/countries.csv")

US = pd.read_html("https://simple.wikipedia.org/wiki/List_of_U.S._states", header=0)[0]
US.to_csv("podaci/SAD.csv")
  1. Како бисмо учитали табелу TemperaturneAnomalije.csv када би она имала заглавље?
  2. Зашто смо на табелу temp_anomalije применили функцију T?
  3. Колико колона има табела temp_anomalije1?
  4. Да ли је табела drzave формирана на основу података који су смештени локално, на твом рачунару?
  5. У ком формату су представљени подаци на основу којих је формирана табела US?
  6. Шта би се десило када би у интернет претраживач укуцао https://simple.wikipedia.org/wiki/List_of_U.S._states?
  7. У ком формату ће бити записани подаци из табеле "US"?
  8. Да ли ће подаци бити записани локално, или на неки удаљени ресурс?

Задатак 2. У фолдеру podaci се налази датотека StanovnistvoSrbije2017.csv (која има заглавље). Табела има три колоне које се зову "Старост", "Мушко" и "Женско".

(а) Учитај датотеку у структуру података DataFrame и индексирај табелу колоном "Старост".

(б) На основу података из табеле израчунај колики је процењени број становника у следећим старосним групама:

  • 0--17 година,
  • 18--65 година, и
  • 66 и више година,

и представи ова три податка секторским дијаграмом. (Упутство: следећи израз може бити од помоћи: tabela.loc["0":"17", "Мушко":"Женско"])

Задатак 3. У ћелији испод налазе се три низа података: списак имена месеци и потом максималне и минималне температуре по месецима које су забележене у Сјеници у периоду 1981-2010. године.

In [ ]:
meseci =               ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"]
SjenicaMaxPoMesecima = [ 14.0,  19.4,  21.9,  24.3,  28.8,  31.5,  33.5,  32.8,  29.7,  26.5,  20.2,  18.0]
SjenicaMinPoMesecima = [-35.6, -31.0, -25.0,  -8.3,  -6.4,  -3.7,  -0.4,  -1.3,  -9.3, -10.7, -26.2, -29.6]

(Подаци су преузети са сајта Републичког хидрометеоролошког завода и доступни су на адреси http://www.hidmet.gov.rs/latin/meteorologija/stanica_sr.php?moss_id=13369)

(а) Формирај табелу и представи је структуром DataFrame.

(б) Транспонуј табелу, дај колонама име и индексирај табелу именом месеца.

(в) Додај нову колону овој табели па у њу упиши максимални температурни распон за сваки месец (који се добија када се од највише забележене температуре одузме најнижа забележена температура).

(г) Овако трансформисану табелу упиши у датотеку Sjenica.csv водећи рачуна да у табели има података који су записани ћирилицом.

Задатак 4. Ево трошкова живота једне породице током једне године, по месецима (сви износи су представљени у динарима):

Ставка Јан Феб Мар Апр Мај Јун Јул Авг Сеп Окт Нов Дец
Станарина 8.251 8.436 8.524 8.388 8.241 8.196 8.004 7.996 7.991 8.015 8.353 8.456
Струја 4.321 4.530 4.115 3.990 3.985 3.726 3.351 3.289 3.295 3.485 3.826 3.834
Телефон (фиксни) 1.425 1.538 1.623 1.489 1.521 1.485 1.491 1.399 1.467 1.531 1.410 1.385
Телефон (мобилни) 2.181 2.235 2.073 1.951 1.989 1.945 3.017 2.638 2.171 1.831 1.926 1.833
ТВ и интернет 2.399 2.399 2.399 2.399 2.399 2.399 2.399 2.399 2.399 2.399 2.399 2.399
Превоз 1.830 1.830 1.830 1.830 1.950 1.950 1.450 1.450 1.950 1.950 2.050 2.050
Храна 23.250 23.780 24.019 24.117 24.389 24.571 24.736 24.951 25.111 25.389 25.531 25.923
Остало 4.500 3.700 5.100 3.500 2.750 4.250 7.320 8.250 3.270 4.290 3.200 8.390

У ћелији испод су исти подаци представљени листом:

In [ ]:
# изврши ову ћелију
troskovi = [
  ["Станарина", 8251, 8436, 8524, 8388, 8241, 8196, 8004, 7996, 7991, 8015, 8353, 8456],
  ["Струја", 4321, 4530, 4115, 3990, 3985, 3726, 3351, 3289, 3295, 3485, 3826, 3834],
  ["Телефон (фиксни)", 1425, 1538, 1623, 1489, 1521, 1485, 1491, 1399, 1467, 1531, 1410, 1385],
  ["Телефон (мобилни)", 2181, 2235, 2073, 1951, 1989, 1945, 3017, 2638, 2171, 1831, 1926, 1833],
  ["ТВ и интернет", 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2399 ],
  ["Превоз", 1830, 1830, 1830, 1830, 1950, 1950, 1450, 1450, 1950, 1950, 2050, 2050],
  ["Храна", 23250, 23780, 24019, 24117, 24389, 24571, 24736, 24951, 25111, 25389, 25531, 25923],
  ["Остало", 4500, 3700, 5100, 3500, 2750, 4250, 7320, 8250, 3270, 4290, 3200, 8390]
]

(а) Представи табелу структуром DataFrame. Индексирај табелу.

(б) Додај табели нову врсту "Укупно" па у њу унеси укупне трошкове ове породице по месецима (колико је породица укупно потрошила у јануару, колико у фебруару итд).

(в) Додај табели нову колону "Просечно" па у њу унеси просечну потрошњу ове породице по ставкама (колико је породица просечно потрошила на станарину, колико на струју, итд).

(г) Добијену табелу упиши у датотеку Troskovi.csv водећи рачуна о томе да у табели има података који су записани ћирилицом.

Задатак 5. У табели испод су дати подаци о продаји неких производа у пет пословних јединица једне компаније (бројеви представљају број продатих комада у једном месецу):

Производ ПЈ1 ПЈ2 ПЈ3 ПЈ4 ПЈ5
Ципеле 5 17 3 11 9
Кошуља 8 6 7 4 0
Каиш 4 1 3 5 1
Панталоне 4 2 6 4 5
Чарапе (пар) 8 9 7 4 9
Кравата 1 0 3 2 4

Следећа табела садржи цене ових производа у динарима:

Производ Цена (дин)
Ципеле 11.250
Кошуља 6.500
Каиш 4.750
Панталоне 2.500
Чарапе (пар) 750
Кравата 3.500

Ћелија испод садржи податке из ове две табеле представљене у облику листе:

In [ ]:
# изврши ову ћелију
proizvodi = [
    ["Ципеле",         5, 17,  3, 11,  9],
    ["Кошуља",         8,  6,  7,  4,  0],
    ["Каиш",           4,  1,  3,  5,  1],
    ["Панталоне",      4,  2,  6,  4,  5],
    ["Чарапе (пар)",   8,  9,  7,  4,  9],
    ["Кравата",        1,  0,  3,  2,  4]]
cene = [
    ["Ципеле",         11250],
    ["Кошуља",          6500],
    ["Каиш",            4750],
    ["Панталоне",       2500],
    ["Чарапе (пар)",     750],
    ["Кравата",         3500]]

(а) Представи обе табеле структуром DataFrame. Индексирај обе табеле.

(б) Транспонуј табелу са производима и додај јој нову колону "Зарада".

(в) У колони "Зарада" израчунај зараду сваке пословне јединице у том месецу.

(г) Сортирај табелу према заради пословних јединица и прикажи зараде дијаграмом.