diff --git a/Homework/Labs06/task02.py b/Homework/Labs06/task02.py new file mode 100644 index 0000000..fff1f19 --- /dev/null +++ b/Homework/Labs06/task02.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +import pandas as pd + +def wczytaj_dane(): + dane = pd.read_csv('C:/Users/aga/Desktop/python2017/labs06/mieszkania.csv', sep = ",", index_col='Id') #indeksowanie po Id (od 1) + return pd.DataFrame(dane).head() #dla .head() - domyslnie 5 pierwszch + #print(dane) +wczytaj_dane() + +def d(dane): ##sprawdzam typ + if isinstance(dane, pd.DataFrame): + print("si") +#d(dane) + +def most_common_room_number(dane): + pokoje = dane['Rooms'].value_counts().head() + print(pokoje) +#most_common_room_number(dane) + +#n = 3 +def cheapest_flats(dane, n): #zwroc n najtanszych + najtansze = dane.sort_values(by = ['Expected'], ascending=True) + return dane.head(n) +cheapest_flats(dane, n) + +def find_borough(desc): + dzielnice = ['Stare Miasto', + 'Wilda', + 'Jeżyce', + 'Rataje', + 'Piątkowo', + 'Winogrady', + 'Miłostowo', + 'Dębiec'] + for i in dzielnice: + if i in desc: + return i + else: + return('Inne') + +def add_borough(dane): #do pliku, wykres z liczba ogloszen z podzialem na dzielnice + dane['Borough'] = dane['Location'].apply(find_borough) + return dane +#add_borough(dane) + +#filename = 'filename.png' +import matplotlib.pyplot as plt +def write_plot(dane, filename): #do pliku ``filename`` wykres słupkowy przedstawiający liczbę ogłoszeń mieszkań z podziałem na dzielnice + kontent = dane['Borough'].value_counts() + kontent.plot(kind = 'bar') + wykres = kontent.get_figure() + wykres.savefig(filename) + +#write_plot(dane, filename) +#room_number = 2 +def mean_price(dane, room_number): #srednia cena mieszkania n-pokojowego + room_number = dane['Rooms'] + srednia = room_number[dane['Expected']].mean() + return srednia +mean_price(dane, room_number) + +def find_13(dane): + pietro13 = dane[dane['Floor'] == 13]['Borough'] + return pietro13 +find_13(dane) + +def find_best_flats(dane): #wszystkie: Winogrady+3pokoje+1pietro + najlepsze = dane[(dane['Floor'] == 1) & dane(['Borough' == "Winogrady"]) & (dane['Rooms']==3)] + return najlepsze + +#find_best_flats(dane) + +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 dane 3-pokojowego, to: {}" + .format(mean_price(dane, 3))) + +if __name__ == "__main__": + main()