#!/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()