From 7f64a0346919f1bf35fd27dc0d868295b6a0d1b3 Mon Sep 17 00:00:00 2001 From: Magda Zganiacz Date: Thu, 21 Jun 2018 19:28:33 +0200 Subject: [PATCH] zadanie domowe --- labs06/task02.py | 44 +++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/labs06/task02.py b/labs06/task02.py index 9d96016..69ddaa6 100755 --- a/labs06/task02.py +++ b/labs06/task02.py @@ -1,14 +1,19 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- +import pandas as pd +from statistics import mode +import matplotlib.pyplot as plt def wczytaj_dane(): - pass + r = pd.read_csv("mieszkania.csv") + dane = r.dropna(axis='columns') + return dane def most_common_room_number(dane): - pass + return mode(dane.Rooms) def cheapest_flats(dane, n): - pass + return dane.sort_values(by=["Expected"]).head(n) def find_borough(desc): dzielnice = ['Stare Miasto', @@ -19,23 +24,36 @@ def find_borough(desc): 'Winogrady', 'Miłostowo', 'Dębiec'] - pass + indeks = len(desc) + nazwa_dzielnicy = "Inne" + for dzielnica in dzielnice: + indeks_dzielnica = desc.find(dzielnica) + if indeks_dzielnica < indeks and indeks_dzielnica != -1: + indeks = indeks_dzielnica + nazwa_dzielnicy = dzielnica + return nazwa_dzielnicy def add_borough(dane): - pass + dane['Borough'] = dane['Location'].apply(find_borough) + return dane def write_plot(dane, filename): - pass + add_borough(dane) + dane_wykres = pd.Series(dane.Borough.value_counts()) + dane_wykres.plot(x='Borough', y='Liczba ogłoszeń', kind = 'bar') + plt.savefig(filename, pad_inches=1, bbox_inches='tight') def mean_price(dane, room_number): - pass + return dane.Expected[(dane['Rooms'] == room_number)].mean() def find_13(dane): - pass + add_borough(dane) + return dane.Borough[(dane['Floor'] == 13)].unique() def find_best_flats(dane): - pass + add_borough(dane) + return dane[(dane['Borough'] == 'Winogrady') & (dane['Rooms'] == 3) & (dane['Floor'] == 1)] def main(): dane = wczytaj_dane() @@ -44,11 +62,11 @@ def main(): 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("{} to najładniejsza 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() + main()