1
0
forked from tdwojak/Python2017
Python2017/Homework/Labs06/task02.py
2018-01-21 23:35:28 +00:00

89 lines
2.6 KiB
Python

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