1
0
forked from tdwojak/Python2017
Python2017/labs06/task02.py
2018-01-26 14:27:56 +01:00

63 lines
1.8 KiB
Python
Executable File

##!/usr/bin/env python
# -*- coding: utf-8 -*-
import pandas as pd
def wczytaj_dane():
mieszkania = pd.read_csv('mieszkania.csv', # ścieżka do pliku
sep=',', # separator
encoding='UTF-8',
usecols=[0,1,2,3,4,5,6])
return mieszkania
def most_common_room_number(dane):
return dane.mode(numeric_only =True)["Rooms"][0]
def cheapest_flats(dane, n):
return dane.sort_values("Expected")[:n]
def find_borough(desc):
dzielnice = ['Stare Miasto',
'Wilda',
'Jeżyce',
'Rataje',
'Piątkowo',
'Winogrady',
'Miłostowo',
'Dębiec']
inputList=desc.split(' ')
for i in inputList:
if i in dzielnice:
return i
return "Inne"
def add_borough(dane):
newcol=dane["Location"].apply(find_borough)
dane["Borough"]=newcol
return dane
def write_plot(dane, filename):
bar=dane["Borough"].value_counts().plot(kind="bar", figsize=(6,6))
fig=bar.get_figure()
fig.savefig(filename)
def mean_price(dane, room_number):
return dane[dane["Rooms"]==room_number]["Expected"].mean()
def find_13(dane):
return dane[dane["Floor"]==13]["Borough"].unique()
def find_best_flats(dane):
return dane[(dane["Borough"]=="Winogrady") & (dane["Floor"]==1) & (dane["Rooms"]==3)]
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()