#!/usr/bin/env python # -*- coding: utf-8 -*- """ ** 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. 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. """ import csv import pandas as pd import statistics def wczytaj_dane(): raw_data = pd.read_csv('mieszkania.csv',sep=',') data = pd.DataFrame(raw_data) return data def most_common_room_number(dane): rooms=dane['Rooms'] return(int(statistics.mode(rooms))) def cheapest_flats(dane, n): cheapest=pd.DataFrame(dane['Expected']) cheapest.sort=cheapest.sort_values(by=['Expected']) return cheapest.sort[:n] def find_borough(desc): dzielnice = ['Stare Miasto', 'Wilda', 'Jeżyce', 'Rataje', 'Piątkowo', 'Winogrady', 'Miłostowo', 'Dębiec'] for dzielnica in dzielnice: if desc.find(dzielnica)!=-1: return dzielnica return 'Inne' def add_borough(dane): borough_list=[] for data in dane['Location']: borough_list.append(find_borough(data)) borough_series = pd.Series(borough_list,name='Borough') dane['Borough']=borough_series return dane 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()