{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 13. час: Утврђивање градива\n", "\n", "Сада ћемо мало застати и осврнути се на материјал са последња два часа." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Задатак 1.** Погледај пажљиво наредбе у следећој ћелији, па одговори на питања:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "\n", "temp_anomalije = pd.read_csv(\"podaci/TemperaturneAnomalije.csv\", header=None)\n", "temp_anomalije1 = temp_anomalije.T\n", "temp_anomalije1.columns = [\"Година\", \"Аномалија\"]\n", "\n", "drzave = pd.read_csv(\"https://raw.githubusercontent.com/cs109/2014_data/master/countries.csv\")\n", "\n", "US = pd.read_html(\"https://simple.wikipedia.org/wiki/List_of_U.S._states\", header=0)[0]\n", "US.to_csv(\"podaci/SAD.csv\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1. Како бисмо учитали табелу `TemperaturneAnomalije.csv` када би она имала заглавље?\n", "2. Зашто смо на табелу `temp_anomalije` применили функцију `T`?\n", "3. Колико колона има табела `temp_anomalije1`?\n", "4. Да ли је табела `drzave` формирана на основу података који су смештени локално, на твом рачунару?\n", "5. У ком формату су представљени подаци на основу којих је формирана табела `US`?\n", "6. Шта би се десило када би у интернет претраживач укуцао `https://simple.wikipedia.org/wiki/List_of_U.S._states`?\n", "7. У ком формату ће бити записани подаци из табеле \"US\"?\n", "8. Да ли ће подаци бити записани локално, или на неки удаљени ресурс?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Задатак 2.** У фолдеру _podaci_ се налази датотека _StanovnistvoSrbije2017.csv_ (која има заглавље). Табела има три колоне које се зову \"Старост\", \"Мушко\" и \"Женско\".\n", "\n", "_(а)_ Учитај датотеку у структуру података _DataFrame_ и индексирај табелу колоном \"Старост\"." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_(б)_ На основу података из табеле израчунај колики је процењени број становника у следећим старосним групама:\n", "\n", "* 0--17 година,\n", "* 18--65 година, и\n", "* 66 и више година,\n", "\n", "и представи ова три податка секторским дијаграмом. (Упутство: следећи израз може бити од помоћи: `tabela.loc[\"0\":\"17\", \"Мушко\":\"Женско\"]`)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Задатак 3.** У ћелији испод налазе се три низа података: списак имена месеци и потом максималне и минималне температуре по месецима које су забележене у Сјеници у периоду 1981-2010. године. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# изврши ову ћелију!\n", "meseci = [\"Јан\", \"Феб\", \"Мар\", \"Апр\", \"Мај\", \"Јун\", \"Јул\", \"Авг\", \"Сеп\", \"Окт\", \"Нов\", \"Дец\"]\n", "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]\n", "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]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "(Подаци су преузети са сајта Републичког хидрометеоролошког завода и доступни су на адреси\n", "http://www.hidmet.gov.rs/latin/meteorologija/stanica_sr.php?moss_id=13369)\n", "\n", "_(а)_ Додај нову ћелију испод ове па формирај табелу и представи је структуром _DataFrame_." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_(б)_ Транспонуј табелу, дај колонама име и индексирај табелу именом месеца." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_(в)_ Додај нову колону овој табели па у њу упиши максимални температурни распон за сваки месец (који се добија када се од највише забележене температуре одузме најнижа забележена температура)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_(г)_ Овако трансформисану табелу упиши у датотеку _Sjenica.csv_ водећи рачуна да у табели има података који су записани ћирилицом." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Задатак 4.** Ево трошкова живота једне породице током једне године, по месецима (сви износи су представљени у динарима):\n", " \n", " | Ставка | Јан | Феб | Мар | Апр | Мај | Јун | Јул | Авг | Сеп | Окт | Нов | Дец |\n", " |--------|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|\n", " | Станарина | 8.251 | 8.436 | 8.524 | 8.388 | 8.241 | 8.196 | 8.004 | 7.996 | 7.991 | 8.015 | 8.353 | 8.456 |\n", " | Струја | 4.321 | 4.530 | 4.115 | 3.990 | 3.985 | 3.726 | 3.351 | 3.289 | 3.295 | 3.485 | 3.826 | 3.834 |\n", " | Телефон (фиксни) | 1.425 | 1.538 | 1.623 | 1.489 | 1.521 | 1.485 | 1.491 | 1.399 | 1.467 | 1.531 | 1.410 | 1.385 |\n", " | Телефон (мобилни) | 2.181 | 2.235 | 2.073 | 1.951 | 1.989 | 1.945 | 3.017 | 2.638 | 2.171 | 1.831 | 1.926 | 1.833 |\n", " | ТВ и интернет | 2.399 | 2.399 | 2.399 | 2.399 | 2.399 | 2.399 | 2.399 | 2.399 | 2.399 | 2.399 | 2.399 | 2.399 |\n", " | Превоз | 1.830 | 1.830 | 1.830 | 1.830 | 1.950 | 1.950 | 1.450 | 1.450 | 1.950 | 1.950 | 2.050 | 2.050 |\n", " | Храна | 23.250 | 23.780 | 24.019 | 24.117 | 24.389 | 24.571 | 24.736 | 24.951 | 25.111 | 25.389 | 25.531 | 25.923 |\n", " | Остало | 4.500 | 3.700 | 5.100 | 3.500 | 2.750 | 4.250 | 7.320 | 8.250 | 3.270 | 4.290 | 3.200 | 8.390 |\n", "\n", "У ћелији испод су исти подаци представљени листом:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# изврши ову ћелију\n", "troskovi = [\n", " [\"Станарина\", 8251, 8436, 8524, 8388, 8241, 8196, 8004, 7996, 7991, 8015, 8353, 8456],\n", " [\"Струја\", 4321, 4530, 4115, 3990, 3985, 3726, 3351, 3289, 3295, 3485, 3826, 3834],\n", " [\"Телефон (фиксни)\", 1425, 1538, 1623, 1489, 1521, 1485, 1491, 1399, 1467, 1531, 1410, 1385],\n", " [\"Телефон (мобилни)\", 2181, 2235, 2073, 1951, 1989, 1945, 3017, 2638, 2171, 1831, 1926, 1833],\n", " [\"ТВ и интернет\", 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2399 ],\n", " [\"Превоз\", 1830, 1830, 1830, 1830, 1950, 1950, 1450, 1450, 1950, 1950, 2050, 2050],\n", " [\"Храна\", 23250, 23780, 24019, 24117, 24389, 24571, 24736, 24951, 25111, 25389, 25531, 25923],\n", " [\"Остало\", 4500, 3700, 5100, 3500, 2750, 4250, 7320, 8250, 3270, 4290, 3200, 8390]\n", "]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_(а)_ Додај нову ћелију испод ове па представи табелу структуром _DataFrame_. Индексирај табелу." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_(б)_ Додај табели нову врсту \"Укупно\" па у њу унеси укупне трошкове ове породице по месецима (колико је породица укупно потрошила у јануару, колико у фебруару итд)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_(в)_ Додај табели нову колону \"Просечно\" па у њу унеси просечну потрошњу ове породице по ставкама (колико је породица просечно потрошила на станарину, колико на струју, итд)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_(г)_ Добијену табелу упиши у датотеку _Troskovi.csv_ водећи рачуна о томе да у табели има података који су записани ћирилицом." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Задатак 5.** У табели испод су дати подаци о продаји неких производа у пет пословних јединица једне компаније (бројеви представљају број продатих комада у једном месецу):\n", "\n", "| Производ | ПЈ1 | ПЈ2 | ПЈ3 | ПЈ4 | ПЈ5 |\n", "|----------------|-----|-----|-----|-----|-----|\n", "| Ципеле | 5 | 17 | 3 | 11 | 9 |\n", "| Кошуља | 8 | 6 | 7 | 4 | 0 |\n", "| Каиш | 4 | 1 | 3 | 5 | 1 |\n", "| Панталоне | 4 | 2 | 6 | 4 | 5 |\n", "| Чарапе (пар) | 8 | 9 | 7 | 4 | 9 |\n", "| Кравата | 1 | 0 | 3 | 2 | 4 |\n", "\n", "Следећа табела садржи цене ових производа у динарима:\n", "\n", "| Производ | Цена (дин) |\n", "|----------------|------------|\n", "| Ципеле | 11.250 |\n", "| Кошуља | 6.500 |\n", "| Каиш | 4.750 |\n", "| Панталоне | 2.500 |\n", "| Чарапе (пар) | 750 |\n", "| Кравата | 3.500 |\n", "\n", "Ћелија испод садржи податке из ове две табеле представљене у облику листе:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# изврши ову ћелију\n", "proizvodi = [\n", " [\"Ципеле\", 5, 17, 3, 11, 9],\n", " [\"Кошуља\", 8, 6, 7, 4, 0],\n", " [\"Каиш\", 4, 1, 3, 5, 1],\n", " [\"Панталоне\", 4, 2, 6, 4, 5],\n", " [\"Чарапе (пар)\", 8, 9, 7, 4, 9],\n", " [\"Кравата\", 1, 0, 3, 2, 4]]\n", "cene = [\n", " [\"Ципеле\", 11250],\n", " [\"Кошуља\", 6500],\n", " [\"Каиш\", 4750],\n", " [\"Панталоне\", 2500],\n", " [\"Чарапе (пар)\", 750],\n", " [\"Кравата\", 3500]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_(а)_ Представи обе табеле структуром _DataFrame_. Индексирај обе табеле." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_(б)_ Транспонуј табелу са производима и додај јој нову колону \"Зарада\"." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_(в)_ У колони \"Зарада\" израчунај зараду сваке пословне јединице у том месецу." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_(г)_ Сортирај табелу према заради пословних јединица и прикажи зараде дијаграмом." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }