1
0
forked from tdwojak/Python2017
Python2017/labs06/task02.py

75 lines
2.1 KiB
Python
Raw Permalink Normal View History

2018-01-10 23:04:00 +01:00
import pandas as pd
2018-01-21 00:03:22 +01:00
import numpy as np
2018-01-10 23:04:00 +01:00
2017-12-15 14:24:17 +01:00
def wczytaj_dane():
2018-01-21 00:03:22 +01:00
mieszkania = pd.read_csv('mieszkania.csv',
encoding='utf-8',
sep=',',
index_col='Id')
return pd.DataFrame(mieszkania)
2017-12-15 14:24:17 +01:00
2018-01-21 00:03:22 +01:00
def most_common_room_number (dane):
2018-01-21 00:47:49 +01:00
most_common = dane['Rooms'].value_counts().head()
return most_common
2017-12-15 14:24:17 +01:00
def cheapest_flats(dane, n):
2018-01-21 00:47:49 +01:00
cheapest = dane.sort_values('Expected').head(n)
return cheapest
2017-12-15 14:24:17 +01:00
def find_borough(desc):
dzielnice = ['Stare Miasto',
'Wilda',
'Jeżyce',
'Rataje',
'Piątkowo',
'Winogrady',
'Miłostowo',
'Dębiec']
2018-01-21 00:03:22 +01:00
for dzielnica in dzielnice:
if dzielnica in desc:
return dzielnica
return 'Inne'
2017-12-15 14:24:17 +01:00
def add_borough(dane):
2018-01-21 00:03:22 +01:00
dane['Borough'] = dane['Location'].apply(find_borough)
return dane
2017-12-15 14:24:17 +01:00
def write_plot(dane, filename):
2018-01-21 00:03:22 +01:00
data = add_borough(dane)
plot_data = data['Borough'].value_counts()
plot_data.plot( Kind = 'bar',title='Mieszkania z podziałem na dzielnice')
figure_data = plot_data.get_figure()
figure_data.savefig ( filename )
2017-12-15 14:24:17 +01:00
def mean_price(dane, room_number):
2018-01-21 00:47:49 +01:00
rooms = dane[ dane['Rooms']==room_number]['Expected'].mean()
return rooms
2017-12-15 14:24:17 +01:00
def find_13(dane):
2018-01-21 00:47:49 +01:00
floor_13 = dane[dane['Floor'] == 13]['Borough'].values
return floor_13
2017-12-15 14:24:17 +01:00
def find_best_flats(dane):
2018-01-21 00:47:49 +01:00
best_flats = dane[(dane['Borough'] == 'Winogrady') & (dane['Rooms'] == 3) & (dane['Floor'] == 1)]
return best_flats
2017-12-15 14:24:17 +01:00
2018-01-21 00:47:49 +01:00
def main ( ):
dane = wczytaj_dane ( )
print(dane[ :5 ])
2017-12-15 14:24:17 +01:00
2018-01-21 00:03:22 +01:00
print("Najpopularniejsza liczba pokoi w mieszkaniu to: {}".format ( most_common_room_number ( dane ) ))
2018-01-21 00:47:49 +01:00
print("{} to najłądniejsza dzielnica w Poznaniu.".format ( find_borough ( "Grunwald i Jeżyce" ) ))
2017-12-15 14:24:17 +01:00
2018-01-21 00:47:49 +01:00
print("Średnia cena mieszkania 3-pokojowego, to: {:.2f}".format ( mean_price ( dane , 3 ) ))
dane = add_borough(dane)
print("Dzielnice z ofertami na 13 pietrze: {}".format ( find_13 ( dane ) ))
print("Najlepsze oferty: {}".format ( find_best_flats ( dane ) ))
2017-12-15 14:24:17 +01:00
if __name__ == "__main__":
2018-01-21 00:47:49 +01:00
main ( )