<jupyter_start><jupyter_text>**ANALIZA STANOVANJ**  UvodV tej datoteki je predstavljena analiza podatkov o oddaji stanovanj, zbranih s spletne strani [Nepremičnine](https://www.nepremicnine.net/).Obravnavali bomo vpliv različnih dejavnikov na višino najemnine. Zbrani podatki o stanovanjih so:* id stanovanja* kvadratura* tip (število sob)* leto* cena (mesečna najemnina)* regija* upravna enota* občina<jupyter_code>import pandas as pd
Stanovanja = pd.read_csv("obdelani-podatki\podatki.csv", index_col='id')
slo_stanovanja = Stanovanja[(Stanovanja.regija != 'Šibeniško-kninska') & (Stanovanja.regija != 'Istrska') & (Stanovanja.regija != 'Primorsko-goranska')]
slo_stanovanja<jupyter_output><empty_output><jupyter_text>Zgornja razpredelnica prikazuje vse zbrane podatke, ki jih analiziramo v tej datoteki.   Vprašanja in hipoteze* Najdrazja najmenina na kvadraturo je na obali, takoj za tem pa ji sledi Ljubljana.* V katerih regijah se oddajajo največja stanovanja?* V kateri regiji je največ aktivnih oglasov?* Starejša stanovanja se oddajajo po višji ceni kot mlajša.* Kakšen vpliv ima tip stanovanja (število sob) na višino najemnine?* Stanovanja označena kot primerna za študente so dražja v primerjavi z ostalimi.  Mesečna najmenina na $m^2$ po regijahV prvi točki nas zanima kako se mesečne najmenine aktivnih oglasov spreminjajo glede na regije. Podana hipoteza pravi, da so najemnine najvišje na južno primorskem, sledila pa naj bi ji ljubljanska regija. Za začetek si poglejmo kakšne so povprečne najemnine na trenutnem trgu v Sloveniji.<jupyter_code>sum(slo_stanovanja.cena) // 1710
sum(slo_stanovanja.kvadratura) // 1710<jupyter_output><empty_output><jupyter_text>Povprečna mesečna najemnina stanovanja na strani *nepremičnine.net* je **719€**, povprečna kvadratura pa **62 $m^2$**.<jupyter_code>Stanovanja['cena_kvad'] = (Stanovanja.cena // Stanovanja.kvadratura)
slo_stanovanja = Stanovanja[(Stanovanja.regija != 'Šibeniško-kninska') & (Stanovanja.regija != 'Istrska') & (Stanovanja.regija != 'Primorsko-goranska')]
sum(slo_stanovanja.cena_kvad) // 1710<jupyter_output><empty_output><jupyter_text>Kvadratni meter se v Sloveniji v povprečju oddaja za **11€**. V naslednji dveh tabelah so prikazane cene kvadratur najdražjih ter najcenejših 10 oglaševanih stanovanj.<jupyter_code>slo_stanovanja[['cena_kvad', 'kvadratura', 'cena', 'regija']].sort_values('cena_kvad', ascending=False).head(10)
slo_stanovanja[['cena_kvad', 'kvadratura', 'cena', 'regija']].sort_values('cena_kvad', ascending=False).tail(10)<jupyter_output><empty_output><jupyter_text>Med najdražjimi stanovanji se pojavljajo tista iz ljubljanske regije, kar je v nasprotju s hipotezo. Dalje si bomo ogledali povprečja najemnin po regijah. Omejimo se na stanovanja, ki imajo najmenino nižjo od 60€ /$m^2$.<jupyter_code>slo_stanovanja2 = slo_stanovanja[['cena_kvad', 'kvadratura', 'cena', 'regija']][slo_stanovanja.cena_kvad < 60].sort_values('cena_kvad', ascending=False)
Stanovanja_po_regijah = slo_stanovanja2.groupby('regija')
Stanovanja_po_regijah.mean()[['cena_kvad', 'kvadratura', 'cena']].sort_values('cena_kvad', ascending=False)<jupyter_output><empty_output><jupyter_text>V nasprotju s hipotezi je cena kvadratnega metra višja v Ljubljani(mesto) kot ob obali, vendar so na južno-primorskem najemnine višje kot v okolici Ljubljane, zato lahko povzamemo, da je naša hipoteza le delno veljala. Mesto Ljubljana in južna primorska sta edini regiji, ki po naših podatkih segata nad slovensko povprečje cene kvadrature, ki je **11€ / $m^2$**.Za boljšo predstavo si poglejmo še gref, ki kaže najemnino na kvadraturo v odvisnosti od velikosti stanovanja.<jupyter_code>ax = slo_stanovanja2.plot.scatter(y='cena_kvad', x='kvadratura', color='Grey', label='ostalo')
slo_stanovanja2[slo_stanovanja2.regija == 'LJ-mesto'].plot.scatter(y='cena_kvad', x='kvadratura', color='Yellow', label='LJ-mesto', ax=ax)
slo_stanovanja2[slo_stanovanja2.regija == '<NAME>'].plot.scatter(y='cena_kvad', x='kvadratura', color='Green', label='J.Primorska', ax=ax)
slo_stanovanja2[slo_stanovanja2.regija == 'Posavska'].plot.scatter(y='cena_kvad', x='kvadratura', color='Blue', label='Posavska', ax=ax)
slo_stanovanja2[slo_stanovanja2.regija == 'Dolenjska'].plot.scatter(y='cena_kvad', x='kvadratura', color='Red', label='Dolenjska', ax=ax)
slo_stanovanja2[slo_stanovanja2.regija == 'Koroška'].plot.scatter(y='cena_kvad', x='kvadratura', color='Orange', label='Koroška', ax=ax, figsize=(15,7))<jupyter_output><empty_output><jupyter_text>Iz grafa je lepo vidno, da so cene v Ljubljani(*rumena*) ter ob obali(*zelena*) veliko višje kot drugod po Sloveniji. Opazimo tudi, da se cena najema kvadrature niža z velikostjo stanovanj.  Povprečna površina stanovanja po regijahOpazovali bomo kakšna je povprečna površina stanovanj po posameznih regijah. V prejšnjem poglavju smo ugotovili, da je povprečna kvadratura vseh stanovanj **62 $m^2$**.<jupyter_code>Stanovanja_po_regijah.mean()[['kvadratura']].sort_values('kvadratura', ascending=False)<jupyter_output><empty_output><jupyter_text>Največja so stanovanja na severno-primorskem ter v Ljubljani. Na dno lestvice spadajo koroška in notranjska regija V prejšnjem poglavju smo opazili, da cena kvadrature pada ze velikostjo stanovanj. Zanima nas ali obstaja povezava med višino povprečne najemnine kvadrature ter povprečno velikostjo stanovanja v regiji.<jupyter_code>Stanovanja_po_regijah.mean()[['cena_kvad', 'kvadratura']].sort_values('kvadratura', ascending=False)
Stanovanja_po_regijah.mean()[['cena_kvad', 'kvadratura']].sort_values('kvadratura', ascending=True).plot.barh(figsize=(14,10))<jupyter_output><empty_output><jupyter_text>Iz grafa opazimo, da se v mestu Ljubljana oddajajo med največjimi in tudi najdražjimi stanovanji. Opazna razlika med velikostjo in ceno je na obali, kjer so v oddaji draga in majhna stanovanja. Sklepamo, da je razlog za to oddaja stanovanj v namen turizma.Iz podatkov je razvidno, da višina najemnin ne vpliva na velikost stanovanj v oddaji.  Število aktivnih oglasov po regijahPričakujemo, da je največ aktivnih oglasov v regijah kjer je velika ponudba in povpraševanje, torej kjer je tudi višja cena najemnin, tj. v ljubljanski in južno primorski regiji.<jupyter_code>po_regijah = slo_stanovanja[['regija', 'upravna']].groupby('regija').count().sort_values('upravna', ascending=False)
po_regijah
explode = (0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1)
plt = po_regijah.plot.pie(y='upravna', figsize=(10, 10), shadow=True, startangle=0, labeldistance=None, explode=explode)
plt.legend(loc="upper left")<jupyter_output><empty_output><jupyter_text>Naša hipoteza drži, največ aktivnih oglasov je v Ljubljani in ob obali. Iz grafikona je razvidno, da je ponudba po slovenskih regijah zelo neenakomerna. Razlog za to je najverjetneje neenakomerna poseljenost Slovenije in morda razlika v bivalnih standardih. Povpraševanje po stanovanjih je najvišje v Ljubljani, kjer je tudi gostota naselitve največja. V drugih regijah prevladuje podeželje kjer ljudje večinoma živijo v hišah, zato je tu manj aktivnih oglasov.  Najemnine v mestni občini LjubljanaOpazili smo, da ima lokacija velik vpliv na cene najemnin zato bi lahko razlike po regijah vplivale na naše rezulate. V nadaljni analizi se omejimo le na eno regijo. Obravnavali bomo ljubljansko regijo, ki ima tudi največ aktivnih oglasov.  Vpliv števila sob na najemnino Za začetek si poglejmo koliko sobna stanovanja so v Ljubljani najbolj ponujena.<jupyter_code>stanovanja_lj = Stanovanja[Stanovanja.regija == 'LJ-mesto']
stanovanja_sobe = stanovanja_lj[(stanovanja_lj.tip != 'apartma') & (stanovanja_lj.tip != '1-sobni nadstandardni apartma') & (stanovanja_lj.tip != 'nadstandardna soba') & (stanovanja_lj.tip != 'stanovanje') & (stanovanja_lj.tip != '2- sobno')]
stanovanja_sobe[stanovanja_sobe.regija == 'LJ-mesto'].groupby('tip').count()[['upravna']].sort_values('upravna', ascending=False)<jupyter_output><empty_output><jupyter_text>Najbolj oglaševana so 3 in 2-sobna stanovanja, najverjetneje za to ker so primerna za večino 4-članskih družin. Veliko oglasov je tudi za sobe in garsonjere. Predvidevamo, da je razlog za to, to da je Ljubljana univerzitetno središče Slovenije in posledično veliko študentov v Ljubljani išče prebivališče.Najmanj aktivnih oglasov je za več kot 4 sobna stanovanja. Zanima nas kako tip stanovanja vpliva na ceno kvadrature. Na podlagi števila aktivnih oglasov posameznih tipov stanovanj pričakujemo, da bo cena kvadrature največja za 4,5 in 5-sobna stanovanja, saj je tudi povpraševanja zanj najmanj, ter sumimo, da mednje spadajo luksuzna stanovanja, ki so seveda tudi dražja.Najnižje cene pričakujemo pri sobah ter garsonjerah, saj so ta najverjetneje namenjena študentom, ki nimajo tako veliki finančnih zmožnosti.<jupyter_code>preurejen = stanovanja_sobe[stanovanja_sobe.regija == 'LJ-mesto']
tip = preurejen.groupby('tip').mean()[['cena_kvad']].sort_values('cena_kvad', ascending=False)
tip<jupyter_output><empty_output><jupyter_text>V nasprotju s hipotezo se kot najdražje oddajajo garsonjere in sobe, ki bi po naši predpostavki morale biti najcenejše. Sledijo jim 5 in večsobna stanovanja, najcenejša pa so presenetljivo 4,5 sobna stanovanja z **10,75€ / $m^2$** kar je celo pod slovenskim povprečjem (glej poglavje 1).<jupyter_code>custom_dict = {'soba': 0, 'garsonjera': 1, '1,5-sobno': 2, '1-sobno': 3, '2-sobno': 4,'2,5-sobno': 5,'3-sobno': 6,'3,5-sobno': 7, '4-sobno': 8, '4,5-sobno': 9, '5 in večsobno': 10}

tip.sort_index(key=lambda x: x.map(custom_dict)).plot.bar(figsize=(10,8))<jupyter_output><empty_output><jupyter_text>Iz grafa je razvidno to, da z večanjem števila sob cena nekoliko pada, kar bi lahko povezali s tem, da cena kvadrature pada z velikostjo stanovanj. To pa ne velja za 5 in večsobna stanovanja, ki so opazno dražja kot preostala večsobna stanovanja. Ponovno sklepamo, da je razlog za to, da mednje večinoma spadajo luksuzna stanovanja, namenjena premožnejšim najemnikom.  Vpliv starosti stanovanj na višino najemnineObravnavali bomo odvisnost višine najemnin od starosti stanovanj. Podamo hipotezo, da so starejša stanovanja v povprečju cenejša, saj so energetsko manj učinkovita, težja za vzdrževanje in večinoma težje dostopna (nimajo dvigal, parkirišč itd.).<jupyter_code>stanovanja_lj[stanovanja_lj.leto > 1800].groupby('leto').mean()[['cena_kvad']].plot(figsize=(14, 5))<jupyter_output><empty_output><jupyter_text>Analizirali smo stanovanja v mestni občini Ljubljana starejša od leta 1800. Glede na graf ne moremo sklepati o soodvisnosti najemnin in starosti stanovanj, vendar opazimo, da starejša stanovanja v povprečju niso cenejša kot novejša.  Študentska stanovanja V Sloveniji je znano, da imajo študenti velike težave z iskanjem stanovanj. V tem poglavju želimo primerjati podatke o aktivnih oglasih študentskih stanovanj v primerjavi s slovenskim povprečjem.**OPOMBA:** Pri analizi upoštevamo, da trenutno zaradi epidemije ni veliko aktivnih oglasov namenjenim študentom ter da je študentom v splošnem na valojo več stanovanj v poletnih mesecih oz. po koncu študijskega obdobja.<jupyter_code>stanovanja = pd.read_csv("obdelani-podatki\podatki.csv")
studenti = pd.read_csv("obdelani-podatki\studenti.csv")<jupyter_output><empty_output><jupyter_text>V spodnji razpredelnici so razvrščeni podatki o stanovanjih, ki so na strani *nepremicnine.net* označena kot študentska stanovanja.<jupyter_code>stanovanja['cena_kvad'] = (stanovanja.cena) // stanovanja.kvadratura
studentska_stanovanja = pd.merge(stanovanja, studenti)
studentska_stanovanja['cena_kvad_s'] = (studentska_stanovanja.cena // studentska_stanovanja.kvadratura)
studentska_stanovanja
sum(studentska_stanovanja.cena_kvad) // 29<jupyter_output><empty_output><jupyter_text>Povprečna najemnina na kvadratni meter za študentsko stanovanja **13€**. To je nad slovenskim povprečjem (**11€ / $m^2$**) in ekvivalentno povprečni ceni v Ljubljani, kljub temu da niso vsa stanovanja iz ljubljanske regije. To pomeni, da so cene študentskih stanovanj v samem vrhu slovenskih najemnin. Podatke o študentskih stanovanjih imamo za naslednje regije: Ljubljana(mesto), Ljubljana(okolica), Gorenjska, Savinjska.Kot smo ugotovili v prvem razdelku se najemnine po regijah močno razlikujejo. Zato bomo za vsako regijo posebaj primerjali povprečno ceno vseh stanovanj ter povprečno ceno študentskih stanovanj.<jupyter_code>ax = po_regijah_stud = studentska_stanovanja.groupby('regija').mean()[['cena_kvad_s']].plot.bar(color='Orange', align='edge', width=0.3, edgecolor='Black')
po_regijah = stanovanja[(stanovanja.regija == 'LJ-mesto') | (stanovanja.regija == 'Gorenjska') | (stanovanja.regija == 'Savinjska') | (stanovanja.regija == 'LJ-okolica')].groupby('regija').mean()[['cena_kvad']].plot.bar(color='LightBlue', ax = ax, figsize=(14, 5), width=0.3, edgecolor='Black')<jupyter_output><empty_output>