From 2f2b963402dc8d004e13d5131b1f2dc7af7abd05 Mon Sep 17 00:00:00 2001 From: Tomasz Dwojak Date: Fri, 15 Dec 2017 14:24:17 +0100 Subject: [PATCH] Add homework 06 --- labs06/README.md | 18 ++++++++++++++++ labs06/task02.py | 54 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 labs06/README.md create mode 100755 labs06/task02.py diff --git a/labs06/README.md b/labs06/README.md new file mode 100644 index 0000000..e35b68f --- /dev/null +++ b/labs06/README.md @@ -0,0 +1,18 @@ +## Zadania + +** zad. 0 ** +Sprawdź, czy masz zainstalowany pakiet ``pandas``. Jeżeli nie, zainstaluj go. + +** zad. 2 (domowe) ** +Jest to zadanie złożone, składające się z kilku części. Całość będzie opierać się o dane zawarte w pliku *mieszkania.csv* i dotyczą cen mieszkań w Poznaniu kilka lat temu. + 1, Otwórz plik ``task02.py``, który zawiera szkielet kodu, który będziemy rozwijać w tym zadaniu. + 1. Napisz funkcje, która wczyta zestaw danych z pliku *mieszkania.csv* i zwróci obiekt typu *DataFrame*. Jeżeli wszystko zostało zrobione poprawnie, powinno się wyśtwietlić 5 pierwszych wierszy. + 1. Uzupełnij funkcję ``most_common_room_number``, która zwróci jaka jest najpopularniejsza liczba pokoi w ogłoszeniach. Funkcji powinna zwrócić liczbę całkowitą. + 1. Uzupełnij kod w funkcji ``cheapest_flats(dane, n)``, która wzróci *n* najtańszych ofert mieszkań. Wzrócony obiekt typu ``DataFrame``. + 1. Napisz funkcje ``find_borough(desc)``, która przyjmuje 1 argument typu *string* i zwróci jedną z dzielnic zdefiniowaną w liście ``dzielnice``. Funkcja ma zwrócić pierwszą (wzgledem kolejności) nazwę dzielnicy, która jest zawarta w ``desc``. Jeżeli żadna nazwa nie została odnaleziona, zwróć *Inne*. + 1. Dodaj kolumnę ``Borough``, która będzie zawierać informacje o dzielnicach i powstanie z kolumny ``Localization``. Wykorzystaj do tego funkcję ``find_borough``. + 1. Uzupełnił funkcje ``write_plot``, która zapisze do pliku ``filename`` wykres słupkowy przedstawiający liczbę ogłoszeń mieszkań z podziałem na dzielnice. + 1. Napisz funkcje ``mean_price``, która zwróci średnią cenę mieszkania ``room_numer``-pokojowego. + 1. Uzupełnij funkcje ``find_13``, która zwróci listę dzielnic, które zawierają ofertę mieszkanie na 13 piętrze. + 1. Napisz funkcje ``find_best_flats``, która zwróci wszystkie ogłoszenia mieszkań, które znajdują się na Winogradach, mają 3 pokoje i są położone na 1 piętrze. + 1. *(dodatkowe)*: Korzystając z pakietu *sklearn* zbuduj model regresji liniowej, która będzie wyznaczać cenę mieszkania na podstawie wielkości mieszkania i liczby pokoi. diff --git a/labs06/task02.py b/labs06/task02.py new file mode 100755 index 0000000..9d96016 --- /dev/null +++ b/labs06/task02.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +def wczytaj_dane(): + pass + +def most_common_room_number(dane): + pass + +def cheapest_flats(dane, n): + pass + +def find_borough(desc): + dzielnice = ['Stare Miasto', + 'Wilda', + 'Jeżyce', + 'Rataje', + 'Piątkowo', + 'Winogrady', + 'Miłostowo', + 'Dębiec'] + pass + + +def add_borough(dane): + pass + +def write_plot(dane, filename): + pass + +def mean_price(dane, room_number): + pass + +def find_13(dane): + pass + +def find_best_flats(dane): + pass + +def main(): + dane = wczytaj_dane() + print(dane[:5]) + + print("Najpopularniejsza liczba pokoi w mieszkaniu to: {}" + .format(most_common_room_number(dane))) + + print("{} to najłądniejsza dzielnica w Poznaniu." + .format(find_borough("Grunwald i Jeżyce")))) + + print("Średnia cena mieszkania 3-pokojowego, to: {}" + .format(mean_price(dane, 3))) + +if __name__ == "__main__": + main()