#!/usr/bin/env python # -*- coding: utf-8 -*- import pandas as pd import sys import numpy as np def wczytaj_dane(): my_data = pd.read_csv('mieszkania.csv', encoding='utf-8', index_col='Id', sep = ',') return my_data #print(my_data) def most_common_room_number(dane): rooms = dane['Rooms'] rooms_max = rooms.value_counts().index[0] return rooms_max #return ( room_num_list[room_num_list.index(max(room_num_list))] ) #pass def cheapest_flats(dane, n): expected = dane['Expected'] n_cheapest = expected.sort_values().head(n) return n_cheapest def find_borough(desc): dzielnice = ['Stare Miasto', 'Wilda', 'Jeżyce', 'Rataje', 'Piątkowo', 'Winogrady', 'Miłostowo', 'Dębiec'] for dzielnica in dzielnice: if dzielnica in desc: return dzielnica return 'Inne' def add_borough(dane): dane['Borough'] = dane.apply(lambda row: find_borough(row['Location'])) def write_plot(dane, filename): dane['Borough'].value_counts().plot.bar().get_figure().savefig(filename) def mean_price(dane, room_number): mean_value = dane.loc[dane['Rooms'] == room_number]['Expected'].mean() return mean_value def find_13(dane): return dane.loc[dane['Floor'] == 13]['Borough'].unique() def find_best_flats(dane): best_flats = dane.loc[(df['Borough'] == 'Winogrady') & (dane['Rooms'] == 3) & (dane['Floor'] == 1)] return best_flats 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()