Cílem této semestrální práce bylo provést analýzu dat cen nemovitostí, počtu dokončených staveb a přistěhovalých obyvatel. Byly zjišťováno, zda ceny nemovitostí ovlivňují počet přistěhovalých nebo počet dokončených staveb. Jako územně-správní jednotka byly zvoleny okresy ČR. Výstupy budou vizualizovány.
Český statistický úřad (ČSÚ) je ústřední orgán státní správy České republiky. zabezpečuje získávání a zpracování údajů pro statistické účely a poskytuje statistické informace státním orgánům, orgánům územní samosprávy, veřejnosti a do zahraničí. Zajišťuje vzájemnou srovnatelnost statistických informací ve vnitrostátním i mezinárodním měřítku.
ArcČR 500 je digitální vektorová geografická databáze pro území České republiky, zpracovaná v měřítku 1 : 500 000. Navazuje na podobné databáze, zpracované firmou ESRI (Environmental Systems Research Institute, California, USA) nebo spolupracujícími firmami pro USA a jednotlivé státy Evropy (mj. Německo, Francie, Rakousko), jakož i pro celý svět (ArcWorld).
Cílem nabídky těchto dat je zpřístupnění přehledných geografických informací o ČR uživatelům geografických informačních systémů (GIS). Obsah a struktura dat umožňují široké spektrum prostorových analýz vycházejících z propojení grafických a tabelárních dat, vizualizaci a prezentaci těchto dat, jakož i napojení dalších statistických informací.
JupyterHub je webový server s otevřeným zdrojovým kódem pro více uživatelů navržený tak, aby poskytoval centralizované prostředí pro interaktivní práci s počítačem. Umožňuje uživatelům z různých oblastí výpočetní techniky, jako jsou datoví vědci, výzkumníci a studenti, komunikovat pomocí stejného nástroje. Poskytuje přístup více uživatelům k aplikacím Jupyter Notebook a umožňuje každému uživateli mít potřebné výpočetní prostředí a zdroje pro organizovanou spolupráci.
JupyterHub je navržen tak, aby podporoval více uživatelů a různé programovací jazyky. Běží na jediném serveru a hostuje více instancí notebooku pro každého uživatele. Uživatelé mohou snadno nainstalovat JupyterHub do různých prostředí, od notebooku po cloud, a lze jej dokonce nainstalovat na cluster s více uzly. Je napsán v jazyce Python a obvykle běží na operačním systému Linux.
Je vysokoúrovňový programovací jazyk, který v roce 1991 navrhl Guido van Rossum. Nabízí dynamickou kontrolu datových typů a podporuje různá programovací paradigmata, včetně objektově orientovaného, imperativního nebo funkcionálního. V roce 2018 vzrostla jeho popularita a zařadil se mezi nejoblíbenější jazyky. V řadě různých žebříčků dosahuje jedno z prvních třech míst, výjimkou nebývají první místa.
Python je vyvíjen jako open source projekt, který zdarma nabízí instalace pro většinu běžných platforem (Unix, MS Windows, macOS, Android); ve většině distribucí systému GNU/Linux je Python součástí základní instalace.
Knihovna Pandas je open-source knihovna pro programovací jazyk Python, která poskytuje struktury dat a nástroje pro analýzu a manipulaci s daty. Pandas je jedním z nejčastěji používaných nástrojů v oblasti datové analýzy a vědy o datech a poskytuje vysokoúrovňové data structures, které jsou snadno použitelné.
import pandas as pd
NumPy poskytuje podporu pro vytváření a manipulaci s maticemi a více-dimenzionálními polemi (arrays). Tato knihovna je klíčová pro mnoho vědeckých a technických výpočtů v Pythonu.
import numpy as np
Matplotlib je knihovna v programovacím jazyce Python, která poskytuje nástroje pro vizualizaci dat v podobě grafů a diagramů. Je jednou z nejpoužívanějších knihoven pro tvorbu statických a interaktivních vizualizací v oblasti datové analýzy, vědy o datech, a výzkumu.
import matplotlib.pyplot as plt
from matplotlib import pyplot
GeoPandas je rozšířením pro knihovnu Pandas, které poskytuje nástroje pro práci s geografickými daty v programovacím jazyce Python. Hlavním cílem GeoPandas je umožnit analýzu, manipulaci a vizualizaci geografických dat v pohodlném formátu, podobně jako Pandas umožňuje práci s tabulkovými daty.
import geopandas as gpd
import mapclassify
import random
import statistics
Byly importovány celkem 4 soubory.
První vstupující soubor nese informace o průměrných cenách za 1m2 rodinného domu nebo bytu pro roky 2019 - 2022 v jednotlivých okresech.
filename = "CenyNemovitosti2.csv"
Ceny = pd.read_csv(filename)
Ceny.head(3)
okres | rok | cenyRD | cenyBytu | |
---|---|---|---|---|
0 | Benešov | 2019 | 33086 | 28649 |
1 | Beroun | 2019 | 36014 | 32338 |
2 | Kladno | 2019 | 34993 | 37796 |
Tento vstupující soubor nese informace o počtech dokončených rodinných domů nebo bytů pro roky 2019 - 2022 v jednotlivých okresech.
filename = "PocetDokoncenychBytu.csv"
Byty = pd.read_csv(filename)
Byty.head(3)
okres | rok | v RD | v bytových domech | |
---|---|---|---|---|
0 | Benešov | 2022 | 339 | 0 |
1 | Benešov | 2021 | 378 | 8 |
2 | Benešov | 2020 | 348 | 5 |
Soubor udává kolik obyvatel se v letech 2019 - 2022 přistěhovalo nebo odstěhovalo z jednotlivých okresů.
filename = "PohybObyvatel2.csv"
Obyvatele = pd.read_csv(filename)
Obyvatele.head(3)
okres | rok | PrirustekUbytek | pristehovaly | vystehovaly | |
---|---|---|---|---|---|
0 | Benešov | 2022 | 3057.0 | 4350 | 1293 |
1 | Benešov | 2021 | 825.0 | 2212 | 1387 |
2 | Benešov | 2020 | 667.0 | 1916 | 1249 |
Tento soubor jako jediný nese informaci o geometerii okresů. Soubor se neanalyzuje, slouží pouze pro přidělení geometrie pro následující vykreslování.
Okresy = gpd.read_file('Okresy.shp')
Okresy.head(3)
KOD_OKRES | KOD_LAU1 | NAZ_LAU1 | KOD_KRAJ | KOD_CZNUTS | NAZ_CZNUTS | SNATKY | ROZVODY | NAROZENI | ZEMRELI | ... | MIRA_NEZAM | MIRA_NEZ_1 | MIRA_NEZ_2 | NADEJE_DOZ | NADEJE_D_1 | SX | SY | SHAPE_Leng | SHAPE_Area | geometry | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 40169 | CZ0201 | Benešov | 3026 | CZ020 | Středočeský kraj | 412.0 | 232.0 | 1086.0 | 1073.0 | ... | 3.755883 | 3.547788 | 3.973018 | 75.235682 | 80.814224 | -723011.501988 | -1.087275e+06 | 358784.823858 | 1.474830e+09 | POLYGON ((-728312.790 -1064692.040, -728297.30... |
1 | 40177 | CZ0202 | Beroun | 3026 | CZ020 | Středočeský kraj | 383.0 | 270.0 | 1046.0 | 880.0 | ... | 5.065081 | 4.732233 | 5.405778 | 74.805987 | 81.414124 | -775114.951693 | -1.059142e+06 | 214837.429694 | 7.035512e+08 | POLYGON ((-766878.520 -1043063.830, -766860.31... |
2 | 40185 | CZ0203 | Kladno | 3026 | CZ020 | Středočeský kraj | 744.0 | 481.0 | 1690.0 | 1767.0 | ... | 6.923698 | 6.746076 | 7.104167 | 74.740803 | 80.478830 | -765062.683588 | -1.027274e+06 | 210000.491482 | 7.196171e+08 | POLYGON ((-766946.730 -1010741.620, -766937.43... |
3 rows × 34 columns
colors = []
for i in range(len(Okresy.NAZ_LAU1)):
color = "#{:06x}".format(random.randint(0, 0xFFFFFF)) # Generování náhodné barvy
colors.append(color)
Okresy.plot(figsize=(15, 20),color=colors)
<AxesSubplot:>
Abychom mohli data zobrazit údaje o obyvatelých v mapě, musíme je sloučit s daty okresů, které mají geometrii. A jelikož se spojené data uloží jako typ DataFrame z knihovny Pandas (neumí vykreslit gemetrii), musí se převést do typu GeoDataFrame z knihovny GeoPandas.
Aby byla později práce s daty usnadněna, byly data rozdělena podle roku, ke kterým náleží.
ObyvatelstvoVOkresech = pd.merge(Obyvatele, Okresy, left_on='okres', right_on='NAZ_LAU1')
ObyvatelstvoVOkresech2019 = ObyvatelstvoVOkresech[ObyvatelstvoVOkresech["rok"]==2019]
ObyvatelstvoVOkresech2019GDF = gpd.GeoDataFrame(ObyvatelstvoVOkresech2019, geometry='geometry')
ObyvatelstvoVOkresech2020 = ObyvatelstvoVOkresech[ObyvatelstvoVOkresech["rok"]==2020]
ObyvatelstvoVOkresech2020GDF = gpd.GeoDataFrame(ObyvatelstvoVOkresech2020, geometry='geometry')
ObyvatelstvoVOkresech2021 = ObyvatelstvoVOkresech[ObyvatelstvoVOkresech["rok"]==2021]
ObyvatelstvoVOkresech2021GDF = gpd.GeoDataFrame(ObyvatelstvoVOkresech2021, geometry='geometry')
ObyvatelstvoVOkresech2022 = ObyvatelstvoVOkresech[ObyvatelstvoVOkresech["rok"]==2022]
ObyvatelstvoVOkresech2022GDF = gpd.GeoDataFrame(ObyvatelstvoVOkresech2022, geometry='geometry')
ObyvatelstvoVOkresech.head(3)
okres | rok | PrirustekUbytek | pristehovaly | vystehovaly | KOD_OKRES | KOD_LAU1 | NAZ_LAU1 | KOD_KRAJ | KOD_CZNUTS | ... | MIRA_NEZAM | MIRA_NEZ_1 | MIRA_NEZ_2 | NADEJE_DOZ | NADEJE_D_1 | SX | SY | SHAPE_Leng | SHAPE_Area | geometry | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Benešov | 2022 | 3057.0 | 4350 | 1293 | 40169 | CZ0201 | Benešov | 3026 | CZ020 | ... | 3.755883 | 3.547788 | 3.973018 | 75.235682 | 80.814224 | -723011.501988 | -1.087275e+06 | 358784.823858 | 1.474830e+09 | POLYGON ((-728312.790 -1064692.040, -728297.30... |
1 | Benešov | 2021 | 825.0 | 2212 | 1387 | 40169 | CZ0201 | Benešov | 3026 | CZ020 | ... | 3.755883 | 3.547788 | 3.973018 | 75.235682 | 80.814224 | -723011.501988 | -1.087275e+06 | 358784.823858 | 1.474830e+09 | POLYGON ((-728312.790 -1064692.040, -728297.30... |
2 | Benešov | 2020 | 667.0 | 1916 | 1249 | 40169 | CZ0201 | Benešov | 3026 | CZ020 | ... | 3.755883 | 3.547788 | 3.973018 | 75.235682 | 80.814224 | -723011.501988 | -1.087275e+06 | 358784.823858 | 1.474830e+09 | POLYGON ((-728312.790 -1064692.040, -728297.30... |
3 rows × 39 columns
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2, sharex=True, sharey=True, figsize=(15,10))
ObyvatelstvoVOkresech2019GDF.plot(ax=ax1,column='PrirustekUbytek', cmap='RdYlGn',legend=True,legend_kwds={'shrink': 0.3},vmin = -1000, vmax = 1000)
ObyvatelstvoVOkresech2020GDF.plot(ax=ax2,column='PrirustekUbytek', cmap='RdYlGn',legend=True,legend_kwds={'shrink': 0.3},vmin = -1000, vmax = 1000)
ObyvatelstvoVOkresech2021GDF.plot(ax=ax3,column='PrirustekUbytek', cmap='RdYlGn',legend=True,legend_kwds={'shrink': 0.3},vmin = -1000, vmax = 1000)
ObyvatelstvoVOkresech2022GDF.plot(ax=ax4,column='PrirustekUbytek', cmap='RdYlGn',legend=True,legend_kwds={'shrink': 0.3},vmin = -1000, vmax = 1000)
ax1.set_title('Pohyb obyvatelstva v roce 2019')
ax2.set_title('Pohyb obyvatelstva v roce 2020')
ax3.set_title('Pohyb obyvatelstva v roce 2021')
ax4.set_title('Pohyb obyvatelstva v roce 2022')
Text(0.5, 1.0, 'Pohyb obyvatelstva v roce 2022')
Můžeme zde vidět, že v roce 2022 se do všech okresů přistěhovalo mnoho obyvatel. Dle nás se nejedná o chybu dat, ale tuto změnu způsobila válka na ukrajině a následný přistěhování ukrajinských obyvatel do ČR.
fig, ((ax1, ax2), (ax3, ax4),(ax5,ax6),(ax7,ax8)) = plt.subplots(nrows=4, ncols=2, sharex=True, sharey=True, figsize=(15, 15))
ObyvatelstvoVOkresech2019GDF.plot(ax=ax1, column='pristehovaly',cmap='Greens', vmin = 0,vmax=5000,legend=True,legend_kwds={'shrink': 0.3})
ObyvatelstvoVOkresech2019GDF.plot(ax=ax2, column='vystehovaly',cmap='Reds', vmin = 0,vmax=5000,legend=True,legend_kwds={'shrink': 0.3})
ObyvatelstvoVOkresech2020GDF.plot(ax=ax3, column='pristehovaly',cmap='Greens', vmin = 0,vmax=5000,legend=True,legend_kwds={'shrink': 0.3})
ObyvatelstvoVOkresech2020GDF.plot(ax=ax4, column='vystehovaly',cmap='Reds', vmin = 0,vmax=5000,legend=True,legend_kwds={'shrink': 0.3})
ObyvatelstvoVOkresech2021GDF.plot(ax=ax5, column='pristehovaly',cmap='Greens', vmin = 0,vmax=5000,legend=True,legend_kwds={'shrink': 0.3})
ObyvatelstvoVOkresech2021GDF.plot(ax=ax6, column='vystehovaly',cmap='Reds', vmin = 0,vmax=5000,legend=True,legend_kwds={'shrink': 0.3})
ObyvatelstvoVOkresech2022GDF.plot(ax=ax7, column='pristehovaly',cmap='Greens', vmin = 0,vmax=5000,legend=True,legend_kwds={'shrink': 0.3})
ObyvatelstvoVOkresech2022GDF.plot(ax=ax8, column='vystehovaly',cmap='Reds', vmin = 0,vmax=5000,legend=True,legend_kwds={'shrink': 0.3})
ax1.set_title('Přistěhovalý v roce 2019')
ax2.set_title('Vystěhováný v roce 2019')
ax3.set_title('Přistěhovalý v roce 2020')
ax4.set_title('Vystěhováný v roce 2020')
ax5.set_title('Přistěhovalý v roce 2021')
ax6.set_title('Vystěhováný v roce 2021')
ax7.set_title('Přistěhovalý v roce 2022')
ax8.set_title('Vystěhováný v roce 2022')
Text(0.5, 1.0, 'Vystěhováný v roce 2022')
Pro vykreslení všech map byly použity stejné parametry.
Zde proběhla stejná příprava jako dat s obyvately.
CenyVOkresech = pd.merge(Ceny, Okresy, left_on='okres', right_on='NAZ_LAU1')
CenyVOkresech2019 = CenyVOkresech[CenyVOkresech["rok"]==2019]
CenyVOkresech2019GDF = gpd.GeoDataFrame(CenyVOkresech2019, geometry='geometry')
CenyVOkresech2020 = CenyVOkresech[CenyVOkresech["rok"]==2020]
CenyVOkresech2020GDF = gpd.GeoDataFrame(CenyVOkresech2020, geometry='geometry')
CenyVOkresech2021 = CenyVOkresech[CenyVOkresech["rok"]==2021]
CenyVOkresech2021GDF = gpd.GeoDataFrame(CenyVOkresech2021, geometry='geometry')
CenyVOkresech2022 = CenyVOkresech[CenyVOkresech["rok"]==2022]
CenyVOkresech2022GDF = gpd.GeoDataFrame(CenyVOkresech2022, geometry='geometry')
CenyVOkresech.head(3)
okres | rok | cenyRD | cenyBytu | KOD_OKRES | KOD_LAU1 | NAZ_LAU1 | KOD_KRAJ | KOD_CZNUTS | NAZ_CZNUTS | ... | MIRA_NEZAM | MIRA_NEZ_1 | MIRA_NEZ_2 | NADEJE_DOZ | NADEJE_D_1 | SX | SY | SHAPE_Leng | SHAPE_Area | geometry | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Benešov | 2019 | 33086 | 28649 | 40169 | CZ0201 | Benešov | 3026 | CZ020 | Středočeský kraj | ... | 3.755883 | 3.547788 | 3.973018 | 75.235682 | 80.814224 | -723011.501988 | -1.087275e+06 | 358784.823858 | 1.474830e+09 | POLYGON ((-728312.790 -1064692.040, -728297.30... |
1 | Benešov | 2020 | 35006 | 35967 | 40169 | CZ0201 | Benešov | 3026 | CZ020 | Středočeský kraj | ... | 3.755883 | 3.547788 | 3.973018 | 75.235682 | 80.814224 | -723011.501988 | -1.087275e+06 | 358784.823858 | 1.474830e+09 | POLYGON ((-728312.790 -1064692.040, -728297.30... |
2 | Benešov | 2021 | 41554 | 44070 | 40169 | CZ0201 | Benešov | 3026 | CZ020 | Středočeský kraj | ... | 3.755883 | 3.547788 | 3.973018 | 75.235682 | 80.814224 | -723011.501988 | -1.087275e+06 | 358784.823858 | 1.474830e+09 | POLYGON ((-728312.790 -1064692.040, -728297.30... |
3 rows × 38 columns
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2, sharex=True, sharey=True, figsize=(15, 10))
CenyVOkresech2019GDF.plot(ax=ax1, column='cenyRD',cmap='Blues', vmin = 15000,vmax=60000,legend=True,legend_kwds={'shrink': 0.3})
CenyVOkresech2020GDF.plot(ax=ax2, column='cenyRD',cmap='Blues', vmin = 15000,vmax=60000,legend=True,legend_kwds={'shrink': 0.3})
CenyVOkresech2021GDF.plot(ax=ax3, column='cenyRD',cmap='Blues', vmin = 15000,vmax=60000,legend=True,legend_kwds={'shrink': 0.3})
CenyVOkresech2022GDF.plot(ax=ax4, column='cenyRD',cmap='Blues', vmin = 15000,vmax=60000,legend=True,legend_kwds={'shrink': 0.3})
ax1.set_title('Průměrná cena rodinného domu \n v 2019 za 1m2')
ax2.set_title('Průměrná cena rodinného domu \n v 2020 za 1m2')
ax3.set_title('Průměrná cena rodinného domu \n v 2021 za 1m2')
ax4.set_title('Průměrná cena rodinného domu \n v 2022 za 1m2')
Text(0.5, 1.0, 'Průměrná cena rodinného domu \n v 2022 za 1m2')
Pro vykreslení všech map byly použity stejné parametry. Díky tomu můžeme vidět jak každým rokem cena roste.
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2, sharex=True, sharey=True, figsize=(15, 10))
CenyVOkresech2019GDF.plot(ax=ax1, column='cenyBytu',cmap='Purples', vmin = 10000,vmax=60000,legend=True,legend_kwds={'shrink': 0.3})
CenyVOkresech2020GDF.plot(ax=ax2, column='cenyBytu',cmap='Purples', vmin = 10000,vmax=60000,legend=True,legend_kwds={'shrink': 0.3})
CenyVOkresech2021GDF.plot(ax=ax3, column='cenyBytu',cmap='Purples', vmin = 10000,vmax=60000,legend=True,legend_kwds={'shrink': 0.3})
CenyVOkresech2022GDF.plot(ax=ax4, column='cenyBytu',cmap='Purples', vmin = 10000,vmax=60000,legend=True,legend_kwds={'shrink': 0.3})
ax1.set_title('Průměrná cena bytu \n v 2019 za 1m2')
ax2.set_title('Průměrná cena bytu \n v 2020 za 1m2')
ax3.set_title('Průměrná cena bytu \n v 2021 za 1m2')
ax4.set_title('Průměrná cena bytu \n v 2022 za 1m2')
Text(0.5, 1.0, 'Průměrná cena bytu \n v 2022 za 1m2')
Pro vykreslení všech map byly použity stejné parametry. Díky tomu můžeme vidět jak každým rokem cena roste.
Příprava těchto dat proběhla stejným způsobem jako u předchozích případů.
BytyVOkresech = pd.merge(Byty, Okresy, left_on='okres', right_on='NAZ_LAU1')
BytyVOkresech2019 = BytyVOkresech[BytyVOkresech["rok"]==2019]
BytyVOkresech2019GDF = gpd.GeoDataFrame(BytyVOkresech2019, geometry='geometry')
BytyVOkresech2020 = BytyVOkresech[BytyVOkresech["rok"]==2020]
BytyVOkresech2020GDF = gpd.GeoDataFrame(BytyVOkresech2020, geometry='geometry')
BytyVOkresech2021 = BytyVOkresech[BytyVOkresech["rok"]==2021]
BytyVOkresech2021GDF = gpd.GeoDataFrame(BytyVOkresech2021, geometry='geometry')
BytyVOkresech2022 = BytyVOkresech[BytyVOkresech["rok"]==2022]
BytyVOkresech2022GDF = gpd.GeoDataFrame(BytyVOkresech2022, geometry='geometry')
BytyVOkresech.head(3)
okres | rok | v RD | v bytových domech | KOD_OKRES | KOD_LAU1 | NAZ_LAU1 | KOD_KRAJ | KOD_CZNUTS | NAZ_CZNUTS | ... | MIRA_NEZAM | MIRA_NEZ_1 | MIRA_NEZ_2 | NADEJE_DOZ | NADEJE_D_1 | SX | SY | SHAPE_Leng | SHAPE_Area | geometry | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Benešov | 2022 | 339 | 0 | 40169 | CZ0201 | Benešov | 3026 | CZ020 | Středočeský kraj | ... | 3.755883 | 3.547788 | 3.973018 | 75.235682 | 80.814224 | -723011.501988 | -1.087275e+06 | 358784.823858 | 1.474830e+09 | POLYGON ((-728312.790 -1064692.040, -728297.30... |
1 | Benešov | 2021 | 378 | 8 | 40169 | CZ0201 | Benešov | 3026 | CZ020 | Středočeský kraj | ... | 3.755883 | 3.547788 | 3.973018 | 75.235682 | 80.814224 | -723011.501988 | -1.087275e+06 | 358784.823858 | 1.474830e+09 | POLYGON ((-728312.790 -1064692.040, -728297.30... |
2 | Benešov | 2020 | 348 | 5 | 40169 | CZ0201 | Benešov | 3026 | CZ020 | Středočeský kraj | ... | 3.755883 | 3.547788 | 3.973018 | 75.235682 | 80.814224 | -723011.501988 | -1.087275e+06 | 358784.823858 | 1.474830e+09 | POLYGON ((-728312.790 -1064692.040, -728297.30... |
3 rows × 38 columns
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2, sharex=True, sharey=True, figsize=(15, 10))
BytyVOkresech2019GDF.plot(ax=ax1, column='v RD',cmap='Oranges', vmin = 0,vmax=1000,legend=True,legend_kwds={'shrink': 0.3})
BytyVOkresech2020GDF.plot(ax=ax2, column='v RD',cmap='Oranges', vmin = 0,vmax=1000,legend=True,legend_kwds={'shrink': 0.3})
BytyVOkresech2021GDF.plot(ax=ax3, column='v RD',cmap='Oranges', vmin = 0,vmax=1000,legend=True,legend_kwds={'shrink': 0.3})
BytyVOkresech2022GDF.plot(ax=ax4, column='v RD',cmap='Oranges', vmin = 0,vmax=1000,legend=True,legend_kwds={'shrink': 0.3})
ax1.set_title('Počet dokončených rodinných domů \n v 2019')
ax2.set_title('Počet dokončených rodinných domů \n v 2020')
ax3.set_title('Počet dokončených rodinných domů \n v 2021')
ax4.set_title('Počet dokončených rodinných domů \n v 2022')
Text(0.5, 1.0, 'Počet dokončených rodinných domů \n v 2022')
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2, sharex=True, sharey=True, figsize=(15, 10))
BytyVOkresech2019GDF.plot(ax=ax1, column='v bytových domech',cmap='Blues', vmin = 0,vmax=1000,legend=True,legend_kwds={'shrink': 0.3})
BytyVOkresech2020GDF.plot(ax=ax2, column='v bytových domech',cmap='Blues', vmin = 0,vmax=1000,legend=True,legend_kwds={'shrink': 0.3})
BytyVOkresech2021GDF.plot(ax=ax3, column='v bytových domech',cmap='Blues', vmin = 0,vmax=1000,legend=True,legend_kwds={'shrink': 0.3})
BytyVOkresech2022GDF.plot(ax=ax4, column='v bytových domech',cmap='Blues', vmin = 0,vmax=1000,legend=True,legend_kwds={'shrink': 0.3})
ax1.set_title('Počet dokončených bytů \n v 2019')
ax2.set_title('Počet dokončených bytů \n v 2020')
ax3.set_title('Počet dokončených bytů \n v 2021')
ax4.set_title('Počet dokončených bytů \n v 2022')
Text(0.5, 1.0, 'Počet dokončených bytů \n v 2022')
Aby nám do následně definované funkce nevstupovali 3 různé 'tabulky', byla vytvořena pr každý rok pouze jedna, která obsahuje všechna potřebná data.
SpojenoVOkresech2019_pom = pd.merge(BytyVOkresech2019, CenyVOkresech2019, left_on='okres', right_on='okres')
SpojenoVOkresech2019 = pd.merge(SpojenoVOkresech2019_pom, ObyvatelstvoVOkresech2019, left_on='okres', right_on='okres')
SpojenoVOkresech2020_pom = pd.merge(BytyVOkresech2020, CenyVOkresech2020, left_on='okres', right_on='okres')
SpojenoVOkresech2020 = pd.merge(SpojenoVOkresech2020_pom, ObyvatelstvoVOkresech2020, left_on='okres', right_on='okres')
SpojenoVOkresech2021_pom = pd.merge(BytyVOkresech2021, CenyVOkresech2021, left_on='okres', right_on='okres')
SpojenoVOkresech2021 = pd.merge(SpojenoVOkresech2021_pom, ObyvatelstvoVOkresech2021, left_on='okres', right_on='okres')
SpojenoVOkresech2022_pom = pd.merge(BytyVOkresech2022, CenyVOkresech2022, left_on='okres', right_on='okres')
SpojenoVOkresech2022 = pd.merge(SpojenoVOkresech2022_pom, ObyvatelstvoVOkresech2022, left_on='okres', right_on='okres')
type(SpojenoVOkresech2022)
pandas.core.frame.DataFrame
Výsledkem funkce RozdilyRoky jsou data ve formátu DataFrame z knihovny Pandas. Určuje rozdíly mezi hodnotami ze dvou různých roků, jejichž data do funkce vstupují. Výstup obsahuje tyto data:
def RozdilyRoky(vstup1,vstup2):
zmenyMeziRoky = pd.DataFrame()
zmenyMeziRoky["Okres"] = []
zmenyMeziRoky["RozdilPristehovalych"] = []
zmenyMeziRoky["RozdilCenBytu"] = []
zmenyMeziRoky["RozdilCenRD"] = []
zmenyMeziRoky["RozdilPostavenychRD"] = []
zmenyMeziRoky["RozdilPostavenychBytu"] = []
zmenyMeziRoky["zavislostPristehovalychNaCeneBytu"] = []
zmenyMeziRoky["zavislostPristehovalychNaCeneRD"] = []
zmenyMeziRoky["zavislostPristehovalychNaPostavenchBytech"] = []
zmenyMeziRoky["zavislostPristehovalychNaPostavenychRD"] = []
zmenyMeziRoky["zavislostPostavenychBytuNaCeneBytu"] = []
zmenyMeziRoky["zavislostPostavenychRDnaCeneRD"] = []
for i in range(0,len(vstup1.okres)):
okres1 = vstup1.okres[i]
Rozdil_prist = (vstup2[vstup2["okres"]==okres1].pristehovaly/SpojenoVOkresech2019[SpojenoVOkresech2019["okres"]==okres1].pristehovaly).values[0]
Rozdil_cenBytu = (vstup2[vstup2["okres"]==okres1].cenyBytu/SpojenoVOkresech2019[SpojenoVOkresech2019["okres"]==okres1].cenyBytu).values[0]
Rozdil_cenRD = (vstup2[vstup2["okres"]==okres1].cenyRD/SpojenoVOkresech2019[SpojenoVOkresech2019["okres"]==okres1].cenyRD).values[0]
Rozdil_postavenychRD = (vstup2[vstup2["okres"]==okres1]["v RD"]/SpojenoVOkresech2019[SpojenoVOkresech2019["okres"]==okres1]["v RD"]).values[0]
Rozdil_postavenychBytu = (vstup2[vstup2["okres"]==okres1]["v bytových domech"]/SpojenoVOkresech2019[SpojenoVOkresech2019["okres"]==okres1]["v bytových domech"]).values[0]
if (Rozdil_prist > 1) and (Rozdil_cenBytu > 1):
bzavislostPristehovalychNaCeneBytu = -1
if (Rozdil_prist < 1) and (Rozdil_cenBytu < 1):
bzavislostPristehovalychNaCeneBytu = 1
if (Rozdil_prist < 1) and (Rozdil_cenBytu > 1):
bzavislostPristehovalychNaCeneBytu = -2
if (Rozdil_prist > 1) and (Rozdil_cenBytu < 1):
bzavislostPristehovalychNaCeneBytu = 2
if (Rozdil_prist > 1) and (Rozdil_cenRD > 1):
bzavislostPristehovalychNaCeneRD = -1
if (Rozdil_prist < 1) and (Rozdil_cenRD < 1):
bzavislostPristehovalychNaCeneRD = 1
if (Rozdil_prist < 1) and (Rozdil_cenRD > 1):
bzavislostPristehovalychNaCeneRD = -2
if (Rozdil_prist > 1) and (Rozdil_cenRD < 1):
bzavislostPristehovalychNaCeneRD = 2
if (Rozdil_prist > 1) and (Rozdil_postavenychBytu > 1):
bzavislostPristehovalychNaPostavenchBytech = -1
if (Rozdil_prist < 1) and (Rozdil_postavenychBytu < 1):
bzavislostPristehovalychNaPostavenchBytech = 1
if (Rozdil_prist < 1) and (Rozdil_postavenychBytu > 1):
bzavislostPristehovalychNaPostavenchBytech = -2
if (Rozdil_prist > 1) and (Rozdil_postavenychBytu < 1):
bzavislostPristehovalychNaPostavenchBytech = 2
if (Rozdil_prist > 1) and (Rozdil_postavenychRD > 1):
bzavislostPristehovalychNaPostavenchRD = -1
if (Rozdil_prist < 1) and (Rozdil_postavenychRD < 1):
bzavislostPristehovalychNaPostavenchRD = 1
if (Rozdil_prist < 1) and (Rozdil_postavenychRD > 1):
bzavislostPristehovalychNaPostavenchRD = -2
if (Rozdil_prist > 1) and (Rozdil_postavenychRD < 1):
bzavislostPristehovalychNaPostavenchRD = 2
if (Rozdil_cenBytu > 1) and (Rozdil_postavenychBytu > 1):
bzavislostPostavenychBytuNaCeneBytu = -1
if (Rozdil_cenBytu < 1) and (Rozdil_postavenychBytu < 1):
bzavislostPostavenychBytuNaCeneBytu = 1
if (Rozdil_cenBytu < 1) and (Rozdil_postavenychBytu > 1):
bzavislostPostavenychBytuNaCeneBytu = 2
if (Rozdil_cenBytu > 1) and (Rozdil_postavenychBytu < 1):
bzavislostPostavenychBytuNaCeneBytu = -2
if (Rozdil_cenRD > 1) and (Rozdil_postavenychRD > 1):
bzavislostPostavenychRDnaCeneRD = -1
if (Rozdil_cenRD < 1) and (Rozdil_postavenychRD < 1):
bzavislostPostavenychRDnaCeneRD = 1
if (Rozdil_cenRD < 1) and (Rozdil_postavenychRD > 1):
bzavislostPostavenychRDnaCeneRD = 2
if (Rozdil_cenRD > 1) and (Rozdil_postavenychRD < 1):
bzavislostPostavenychRDnaCeneRD = -2
zmenyMeziRoky["Okres"] = zmenyMeziRoky["Okres"].astype(str)
zmenyMeziRoky.loc[i, "Okres"] = okres1
zmenyMeziRoky.loc[i,"RozdilPristehovalych"] = float(Rozdil_prist)*100
zmenyMeziRoky.loc[i,"RozdilCenBytu"] = float(Rozdil_cenBytu)*100
zmenyMeziRoky.loc[i,"RozdilCenRD"] = float(Rozdil_cenRD)*100
zmenyMeziRoky.loc[i,"RozdilPostavenychRD"] = float(Rozdil_postavenychRD)*100
zmenyMeziRoky.loc[i,"RozdilPostavenychBytu"] = float(Rozdil_postavenychBytu)*100
zmenyMeziRoky.loc[i,"zavislostPristehovalychNaCeneBytu"] = bzavislostPristehovalychNaCeneBytu
zmenyMeziRoky.loc[i,"zavislostPristehovalychNaCeneRD"] = bzavislostPristehovalychNaCeneRD
zmenyMeziRoky.loc[i,"zavislostPristehovalychNaPostavenchBytech"] = bzavislostPristehovalychNaPostavenchBytech
zmenyMeziRoky.loc[i,"zavislostPristehovalychNaPostavenychRD"] = bzavislostPristehovalychNaPostavenchRD
zmenyMeziRoky.loc[i,"zavislostPostavenychBytuNaCeneBytu"] = bzavislostPostavenychBytuNaCeneBytu
zmenyMeziRoky.loc[i,"zavislostPostavenychRDnaCeneRD"] = bzavislostPostavenychRDnaCeneRD
return zmenyMeziRoky
Jelikož je výstu z funkce typu DataFrame, je nutné je zase sloučit s geometrií okresů, aby se dali vykreslit.
zmenyMeziRoky2019_2020 = RozdilyRoky(SpojenoVOkresech2019,SpojenoVOkresech2020)
zmenyMeziRoky2019_2020 = pd.merge(zmenyMeziRoky2019_2020, Okresy, left_on='Okres', right_on='NAZ_LAU1')
zmenyMeziRoky2019_2020GDF = gpd.GeoDataFrame(zmenyMeziRoky2019_2020, geometry='geometry')
zmenyMeziRoky2020_2021 = RozdilyRoky(SpojenoVOkresech2020,SpojenoVOkresech2021)
zmenyMeziRoky2020_2021 = pd.merge(zmenyMeziRoky2020_2021, Okresy, left_on='Okres', right_on='NAZ_LAU1')
zmenyMeziRoky2020_2021GDF = gpd.GeoDataFrame(zmenyMeziRoky2020_2021, geometry='geometry')
zmenyMeziRoky2021_2022 = RozdilyRoky(SpojenoVOkresech2021,SpojenoVOkresech2022)
zmenyMeziRoky2021_2022 = pd.merge(zmenyMeziRoky2021_2022, Okresy, left_on='Okres', right_on='NAZ_LAU1')
zmenyMeziRoky2021_2022GDF = gpd.GeoDataFrame(zmenyMeziRoky2021_2022, geometry='geometry')
zmenyMeziRoky2019_2022 = RozdilyRoky(SpojenoVOkresech2019,SpojenoVOkresech2022)
zmenyMeziRoky2019_2022 = pd.merge(zmenyMeziRoky2019_2022, Okresy, left_on='Okres', right_on='NAZ_LAU1')
zmenyMeziRoky2019_2022GDF = gpd.GeoDataFrame(zmenyMeziRoky2019_2022, geometry='geometry')
fig, ((ax1, ax2)) = plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True, figsize=(15, 15))
zmenyMeziRoky2019_2020GDF.plot( ax = ax1,column='zavislostPristehovalychNaCeneBytu',cmap = "RdYlGn", vmin = -2,vmax=2)
zmenyMeziRoky2019_2020GDF.plot(ax=ax2,column='zavislostPristehovalychNaCeneRD', cmap = "RdYlGn",vmin = -2,vmax=2)
ax1.set_title('Závislost přistěhovalých \n obyvatel na ceně bytů')
ax2.set_title('Závislost přistěhovalých \n obyvatel na ceně RD')
Text(0.5, 1.0, 'Závislost přistěhovalých \n obyvatel na ceně RD')
Rudá barva - cena za nemovitost se zvýšila a počet přistěhovaných obyvatel se zmenšil -> zvýšení ceny nemovitosti mělo negativní dopad na počet přistěhovalých obyvatel
Oranžová barva - cena za nemovitost se zvýšila a počet přistěhovalých také -> zvýšení ceny nemělo žádný vliv na počet přistěhovalých
Světle zelená barva - cena za nemovitost se snížila a taktéž i počet přistěhovalých -> snížená ceny nemělo velký vliv na počet přistěhovalých obyvatel
Tmavě zelená barva - cena za nemovitost se snížila a počet přistěhovalých se zvýšil -> snižená cena měla pozitivní dopad na počet přistěhovaných obyvatel
fig, ((ax3, ax4)) = plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True, figsize=(15, 15))
zmenyMeziRoky2019_2020GDF.plot(ax=ax3,column='zavislostPristehovalychNaPostavenchBytech', cmap = "RdYlGn",vmin = -2,vmax=2)
zmenyMeziRoky2019_2020GDF.plot(ax=ax4,column='zavislostPristehovalychNaPostavenychRD', cmap = "RdYlGn",vmin = -2,vmax=2)
ax3.set_title('Závislost přistěhovalých \n obyvatel na postavených bytech')
ax4.set_title('Závislost přistěhovalých \n obyvatel na postavených rodinných domech')
Text(0.5, 1.0, 'Závislost přistěhovalých \n obyvatel na postavených rodinných domech')
Rudá barva - počet dokončených bytů/RD se zvýšil a počet přistěhovaných obyvatel se zmenšil -> i přesto, že v okrese byly dokončeny stavby, násrust přistěhovalých nebyl
Oranžová barva - počet dokončených bytů/RD se zvýšil a počet přistěhovalých také -> žádný vliv na počet přistěhovalých
Světle zelená barva - počet dokončených bytů/RD se snížil a taktéž i počet přistěhovalých -> žádný vliv na počet přistěhovalých
Tmavě zelená barva - počet dokončených bytů/RD se snížil a počet přistěhovalých se zvýšil -> i přesto, že v okrese bylo dokončeno méně bytů/RD, obyvatel se tam přistěhovalo více než předchozí rok
fig, ((ax5, ax6)) = plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True, figsize=(15, 15))
zmenyMeziRoky2019_2020GDF.plot(ax=ax5,column='zavislostPostavenychBytuNaCeneBytu',cmap = "RdYlGn", vmin = -2,vmax=2)
zmenyMeziRoky2019_2020GDF.plot(ax=ax6,column='zavislostPostavenychRDnaCeneRD', cmap = "RdYlGn",vmin = -2,vmax=2)
ax5.set_title('Závislost postavených bytů \n na ceně bytů')
ax6.set_title('Závislost postavených rodinných domů \n na ceně rodinných domů')
Text(0.5, 1.0, 'Závislost postavených rodinných domů \n na ceně rodinných domů')
Rudá barva - cena za 1m2 se zvýšil a počet dokončených bytů/RD se snížil -> zvýšení ceny mělo negativní dopad na počet dokončených bytů/RD
Oranžová barva - počet dokončených bytů/RD se zvýšil a cena za 1m2 také -> žádný vliv na počet přistěhovalých
Světle zelená barva - počet dokončených bytů/RD se snížil a taktéž i cena za 1m2 -> snížená ceny nemělo vliv na počet dokončených bytů
Tmavě zelená barva - počet dokončených bytů/RD se zvýšil a cena za 1m2 se snížila -> snížení ceny mělo pozitivní dopad na počet dokončených bytů/RD
fig, ((ax1, ax2)) = plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True, figsize=(15, 15))
zmenyMeziRoky2020_2021GDF.plot(ax=ax1,column='zavislostPristehovalychNaCeneBytu', vmin = -2,vmax=2,cmap = "RdYlGn")
zmenyMeziRoky2020_2021GDF.plot(ax=ax2,column='zavislostPristehovalychNaCeneRD', vmin = -2,vmax=2,cmap = "RdYlGn")
ax1.set_title('Závislost přistěhovalých \n obyvatel na ceně bytů')
ax2.set_title('Závislost přistěhovalých \n obyvatel na ceně RD')
Text(0.5, 1.0, 'Závislost přistěhovalých \n obyvatel na ceně RD')
Rudá barva - cena za nemovitost se zvýšila a počet přistěhovaných obyvatel se zmenšil -> zvýšení ceny nemovitosti mělo negativní dopad na počet přistěhovalých obyvatel
Oranžová barva - cena za nemovitost se zvýšila a počet přistěhovalých také -> zvýšení ceny nemělo žádný vliv na počet přistěhovalých
Světle zelená barva - cena za nemovitost se snížila a taktéž i počet přistěhovalých -> snížená ceny nemělo velký vliv na počet přistěhovalých obyvatel
Tmavě zelená barva - cena za nemovitost se snížila a počet přistěhovalých se zvýšil -> snižená cena měla pozitivní dopad na počet přistěhovaných obyvatel
fig, ((ax3, ax4)) = plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True, figsize=(15, 15))
zmenyMeziRoky2020_2021GDF.plot(ax=ax3,column='zavislostPristehovalychNaPostavenchBytech', vmin = -2,vmax=2,cmap = "RdYlGn")
zmenyMeziRoky2020_2021GDF.plot(ax=ax4,column='zavislostPristehovalychNaPostavenychRD', vmin = -2,vmax=2,cmap = "RdYlGn")
ax3.set_title('Závislost přistěhovalých \n obyvatel na postavených bytech')
ax4.set_title('Závislost přistěhovalých \n obyvatel na postavených rodinných domech')
Text(0.5, 1.0, 'Závislost přistěhovalých \n obyvatel na postavených rodinných domech')
Rudá barva - počet dokončených bytů/RD se zvýšil a počet přistěhovaných obyvatel se zmenšil -> i přesto, že v okrese byly dokončeny stavby, násrust přistěhovalých nebyl
Oranžová barva - počet dokončených bytů/RD se zvýšil a počet přistěhovalých také -> žádný vliv na počet přistěhovalých
Světle zelená barva - počet dokončených bytů/RD se snížil a taktéž i počet přistěhovalých -> žádný vliv na počet přistěhovalých
Tmavě zelená barva - počet dokončených bytů/RD se snížil a počet přistěhovalých se zvýšil -> i přesto, že v okrese bylo dokončeno méně bytů/RD, obyvatel se tam přistěhovalo více než předchozí rok
fig, ((ax5, ax6)) = plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True, figsize=(15, 15))
zmenyMeziRoky2020_2021GDF.plot(ax=ax5,column='zavislostPostavenychBytuNaCeneBytu', vmin = -2,vmax=2,cmap = "RdYlGn")
zmenyMeziRoky2020_2021GDF.plot(ax=ax6,column='zavislostPostavenychRDnaCeneRD', vmin = -2,vmax=2,cmap = "RdYlGn")
ax5.set_title('Závislost postavených bytů \n na ceně bytů')
ax6.set_title('Závislost postavených rodinných domů \n na ceně rodinných domů')
Text(0.5, 1.0, 'Závislost postavených rodinných domů \n na ceně rodinných domů')
Rudá barva - cena za 1m2 se zvýšil a počet dokončených bytů/RD se snížil -> zvýšení ceny mělo negativní dopad na počet dokončených bytů/RD
Oranžová barva - počet dokončených bytů/RD se zvýšil a cena za 1m2 také -> žádný vliv na počet přistěhovalých
Světle zelená barva - počet dokončených bytů/RD se snížil a taktéž i cena za 1m2 -> snížená ceny nemělo vliv na počet dokončených bytů
Tmavě zelená barva - počet dokončených bytů/RD se zvýšil a cena za 1m2 se snížila -> snížení ceny mělo pozitivní dopad na počet dokončených bytů/RD
fig, ((ax1, ax2)) = plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True, figsize=(15, 15))
zmenyMeziRoky2021_2022GDF.plot(ax=ax1,column='zavislostPristehovalychNaCeneBytu', vmin = -2,vmax=2,cmap = "RdYlGn")
zmenyMeziRoky2021_2022GDF.plot(ax=ax2,column='zavislostPristehovalychNaCeneRD', vmin = -2,vmax=2,cmap = "RdYlGn")
ax1.set_title('Závislost přistěhovalých \n obyvatel na ceně bytů')
ax2.set_title('Závislost přistěhovalých \n obyvatel na ceně RD')
Text(0.5, 1.0, 'Závislost přistěhovalých \n obyvatel na ceně RD')
Rudá barva - cena za nemovitost se zvýšila a počet přistěhovaných obyvatel se zmenšil -> zvýšení ceny nemovitosti mělo negativní dopad na počet přistěhovalých obyvatel
Oranžová barva - cena za nemovitost se zvýšila a počet přistěhovalých také -> zvýšení ceny nemělo žádný vliv na počet přistěhovalých
Světle zelená barva - cena za nemovitost se snížila a taktéž i počet přistěhovalých -> snížená ceny nemělo velký vliv na počet přistěhovalých obyvatel
Tmavě zelená barva - cena za nemovitost se snížila a počet přistěhovalých se zvýšil -> snižená cena měla pozitivní dopad na počet přistěhovaných obyvatel
fig, ((ax3, ax4)) = plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True, figsize=(15, 15))
zmenyMeziRoky2021_2022GDF.plot(ax=ax3,column='zavislostPristehovalychNaPostavenchBytech', vmin = -2,vmax=2,cmap = "RdYlGn")
zmenyMeziRoky2021_2022GDF.plot(ax=ax4,column='zavislostPristehovalychNaPostavenychRD', vmin = -2,vmax=2,cmap = "RdYlGn")
ax3.set_title('Závislost přistěhovalých \n obyvatel na postavených bytech')
ax4.set_title('Závislost přistěhovalých \n obyvatel na postavených rodinných domech')
Text(0.5, 1.0, 'Závislost přistěhovalých \n obyvatel na postavených rodinných domech')
Rudá barva - počet dokončených bytů/RD se zvýšil a počet přistěhovaných obyvatel se zmenšil -> i přesto, že v okrese byly dokončeny stavby, násrust přistěhovalých nebyl
Oranžová barva - počet dokončených bytů/RD se zvýšil a počet přistěhovalých také -> žádný vliv na počet přistěhovalých
Světle zelená barva - počet dokončených bytů/RD se snížil a taktéž i počet přistěhovalých -> žádný vliv na počet přistěhovalých
Tmavě zelená barva - počet dokončených bytů/RD se snížil a počet přistěhovalých se zvýšil -> i přesto, že v okrese bylo dokončeno méně bytů/RD, obyvatel se tam přistěhovalo více než předchozí rok
fig, ((ax5, ax6)) = plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True, figsize=(15, 15))
zmenyMeziRoky2021_2022GDF.plot(ax=ax5,column='zavislostPostavenychBytuNaCeneBytu', vmin = -2,vmax=2,cmap = "RdYlGn")
zmenyMeziRoky2021_2022GDF.plot(ax=ax6,column='zavislostPostavenychRDnaCeneRD', vmin = -2,vmax=2,cmap = "RdYlGn")
ax5.set_title('Závislost postavených bytů \n na ceně bytů')
ax6.set_title('Závislost postavených rodinných domů \n na ceně rodinných domů')
Text(0.5, 1.0, 'Závislost postavených rodinných domů \n na ceně rodinných domů')
Rudá barva - cena za 1m2 se zvýšil a počet dokončených bytů/RD se snížil -> zvýšení ceny mělo negativní dopad na počet dokončených bytů/RD
Oranžová barva - počet dokončených bytů/RD se zvýšil a cena za 1m2 také -> žádný vliv na počet přistěhovalých
Světle zelená barva - počet dokončených bytů/RD se snížil a taktéž i cena za 1m2 -> snížená ceny nemělo vliv na počet dokončených bytů
Tmavě zelená barva - počet dokončených bytů/RD se zvýšil a cena za 1m2 se snížila -> snížení ceny mělo pozitivní dopad na počet dokončených bytů/RD
fig, ((ax1, ax2)) = plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True, figsize=(15, 15))
zmenyMeziRoky2019_2022GDF.plot(ax=ax1,column='zavislostPristehovalychNaCeneBytu', vmin = -2,vmax=2,cmap = "RdYlGn")
zmenyMeziRoky2019_2022GDF.plot(ax=ax2,column='zavislostPristehovalychNaCeneRD', vmin = -2,vmax=2,cmap = "RdYlGn")
ax1.set_title('Závislost přistěhovalých \n obyvatel na ceně bytů')
ax2.set_title('Závislost přistěhovalých \n obyvatel na ceně RD')
Text(0.5, 1.0, 'Závislost přistěhovalých \n obyvatel na ceně RD')
Rudá barva - cena za nemovitost se zvýšila a počet přistěhovaných obyvatel se zmenšil -> zvýšení ceny nemovitosti mělo negativní dopad na počet přistěhovalých obyvatel
Oranžová barva - cena za nemovitost se zvýšila a počet přistěhovalých také -> zvýšení ceny nemělo žádný vliv na počet přistěhovalých
Světle zelená barva - cena za nemovitost se snížila a taktéž i počet přistěhovalých -> snížená ceny nemělo velký vliv na počet přistěhovalých obyvatel
Tmavě zelená barva - cena za nemovitost se snížila a počet přistěhovalých se zvýšil -> snižená cena měla pozitivní dopad na počet přistěhovaných obyvatel
fig, ((ax3, ax4)) = plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True, figsize=(15, 15))
zmenyMeziRoky2019_2022GDF.plot(ax=ax3,column='zavislostPristehovalychNaPostavenchBytech', vmin = -2,vmax=2,cmap = "RdYlGn")
zmenyMeziRoky2019_2022GDF.plot(ax=ax4,column='zavislostPristehovalychNaPostavenychRD', vmin = -2,vmax=2,cmap = "RdYlGn")
ax3.set_title('Závislost přistěhovalých \n obyvatel na postavených bytech')
ax4.set_title('Závislost přistěhovalých \n obyvatel na postavených rodinných domech')
Text(0.5, 1.0, 'Závislost přistěhovalých \n obyvatel na postavených rodinných domech')
Rudá barva - počet dokončených bytů/RD se zvýšil a počet přistěhovaných obyvatel se zmenšil -> i přesto, že v okrese byly dokončeny stavby, násrust přistěhovalých nebyl
Oranžová barva - počet dokončených bytů/RD se zvýšil a počet přistěhovalých také -> žádný vliv na počet přistěhovalých
Světle zelená barva - počet dokončených bytů/RD se snížil a taktéž i počet přistěhovalých -> žádný vliv na počet přistěhovalých
Tmavě zelená barva - počet dokončených bytů/RD se snížil a počet přistěhovalých se zvýšil -> i přesto, že v okrese bylo dokončeno méně bytů/RD, obyvatel se tam přistěhovalo více než předchozí rok
fig, ((ax5, ax6)) = plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True, figsize=(15, 15))
zmenyMeziRoky2019_2022GDF.plot(ax=ax5,column='zavislostPostavenychBytuNaCeneBytu', vmin = -2,vmax=2,cmap = "RdYlGn")
zmenyMeziRoky2019_2022GDF.plot(ax=ax6,column='zavislostPostavenychRDnaCeneRD', vmin = -2,vmax=2,cmap = "RdYlGn")
ax5.set_title('Závislost postavených bytů \n na ceně bytů')
ax6.set_title('Závislost postavených rodinných domů \n na ceně rodinných domů')
Text(0.5, 1.0, 'Závislost postavených rodinných domů \n na ceně rodinných domů')
Rudá barva - cena za 1m2 se zvýšil a počet dokončených bytů/RD se snížil -> zvýšení ceny mělo negativní dopad na počet dokončených bytů/RD
Oranžová barva - počet dokončených bytů/RD se zvýšil a cena za 1m2 také -> žádný vliv na počet přistěhovalých
Světle zelená barva - počet dokončených bytů/RD se snížil a taktéž i cena za 1m2 -> snížená ceny nemělo vliv na počet dokončených bytů
Tmavě zelená barva - počet dokončených bytů/RD se zvýšil a cena za 1m2 se snížila -> snížení ceny mělo pozitivní dopad na počet dokončených bytů/RD
Určení průměru pro ČR mezi jednotlivými rozdíly roky. A následné přidání rozdílu mezi průměrem ČR a okresem do 'tabulky'.
prumerMeziRoky2019_2020_Byty = statistics.mean(zmenyMeziRoky2019_2020.RozdilCenBytu)
prumerMeziRoky2020_2021_Byty = statistics.mean(zmenyMeziRoky2020_2021.RozdilCenBytu)
prumerMeziRoky2021_2022_Byty = statistics.mean(zmenyMeziRoky2021_2022.RozdilCenBytu)
prumerMeziRoky2019_2022_Byty = statistics.mean(zmenyMeziRoky2019_2022.RozdilCenBytu)
prumerMeziRoky2019_2020_RD = statistics.mean(zmenyMeziRoky2019_2020.RozdilCenRD)
prumerMeziRoky2020_2021_RD = statistics.mean(zmenyMeziRoky2020_2021.RozdilCenRD)
prumerMeziRoky2021_2022_RD = statistics.mean(zmenyMeziRoky2021_2022.RozdilCenRD)
prumerMeziRoky2019_2022_RD = statistics.mean(zmenyMeziRoky2019_2022.RozdilCenRD)
zmenyMeziRoky2019_2020GDF["rozdilMeziPrumeremAOkresem_RD"] = zmenyMeziRoky2019_2020.RozdilCenRD - prumerMeziRoky2019_2020_RD
zmenyMeziRoky2020_2021GDF["rozdilMeziPrumeremAOkresem_RD"] = zmenyMeziRoky2020_2021.RozdilCenRD - prumerMeziRoky2020_2021_RD
zmenyMeziRoky2021_2022GDF["rozdilMeziPrumeremAOkresem_RD"] = zmenyMeziRoky2021_2022.RozdilCenRD - prumerMeziRoky2021_2022_RD
zmenyMeziRoky2019_2022GDF["rozdilMeziPrumeremAOkresem_RD"] = zmenyMeziRoky2019_2022.RozdilCenRD - prumerMeziRoky2019_2022_RD
zmenyMeziRoky2019_2020GDF["rozdilMeziPrumeremAOkresem_Byty"] = zmenyMeziRoky2019_2020.RozdilCenBytu - prumerMeziRoky2019_2020_Byty
zmenyMeziRoky2020_2021GDF["rozdilMeziPrumeremAOkresem_Byty"] = zmenyMeziRoky2020_2021.RozdilCenBytu - prumerMeziRoky2020_2021_Byty
zmenyMeziRoky2021_2022GDF["rozdilMeziPrumeremAOkresem_Byty"] = zmenyMeziRoky2021_2022.RozdilCenBytu - prumerMeziRoky2021_2022_Byty
zmenyMeziRoky2019_2022GDF["rozdilMeziPrumeremAOkresem_Byty"] = zmenyMeziRoky2019_2022.RozdilCenBytu - prumerMeziRoky2019_2022_Byty
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2, sharex=True, sharey=True, figsize=(20, 10))
zmenyMeziRoky2019_2020GDF.plot(ax=ax1,column='rozdilMeziPrumeremAOkresem_RD', vmin = -20,vmax=20,cmap = "RdYlGn",legend=True,legend_kwds={'shrink': 0.3})
zmenyMeziRoky2020_2021GDF.plot(ax=ax2,column='rozdilMeziPrumeremAOkresem_RD', vmin = -20,vmax=20,cmap = "RdYlGn",legend=True,legend_kwds={'shrink': 0.3})
zmenyMeziRoky2021_2022GDF.plot(ax=ax3,column='rozdilMeziPrumeremAOkresem_RD', vmin = -20,vmax=20,cmap = "RdYlGn",legend=True,legend_kwds={'shrink': 0.3})
zmenyMeziRoky2019_2022GDF.plot(ax=ax4,column='rozdilMeziPrumeremAOkresem_RD', vmin = -20,vmax=20,cmap = "RdYlGn",legend=True,legend_kwds={'shrink': 0.3})
ax1.set_title('Porovnání růstu cen rodinných domů v okresech \n s celorepublikovým průměrem mezi roky 2019 a 2020')
ax2.set_title('Porovnání růstu cen rodinných domů v okresech \n s celorepublikovým průměrem mezi roky 2020 a 2021')
ax3.set_title('Porovnání růstu cen rodinných domů v okresech \n s celorepublikovým průměrem mezi roky 2021 a 2022')
ax4.set_title('Porovnání růstu cen rodinných domů v okresech \n s celorepublikovým průměrem mezi roky 2019 a 2022')
Text(0.5, 1.0, 'Porovnání růstu cen rodinných domů v okresech \n s celorepublikovým průměrem mezi roky 2019 a 2022')
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2, sharex=True, sharey=True, figsize=(20, 10))
zmenyMeziRoky2019_2020GDF.plot(ax=ax1,column='rozdilMeziPrumeremAOkresem_Byty', vmin = -20,vmax=20,cmap = "RdYlGn",legend=True,legend_kwds={'shrink': 0.3})
zmenyMeziRoky2020_2021GDF.plot(ax=ax2,column='rozdilMeziPrumeremAOkresem_Byty', vmin = -20,vmax=20,cmap = "RdYlGn",legend=True,legend_kwds={'shrink': 0.3})
zmenyMeziRoky2021_2022GDF.plot(ax=ax3,column='rozdilMeziPrumeremAOkresem_Byty', vmin = -20,vmax=20,cmap = "RdYlGn",legend=True,legend_kwds={'shrink': 0.3})
zmenyMeziRoky2019_2022GDF.plot(ax=ax4,column='rozdilMeziPrumeremAOkresem_Byty', vmin = -20,vmax=20,cmap = "RdYlGn",legend=True,legend_kwds={'shrink': 0.3})
ax1.set_title('Porovnání růstu cen bytů v okresech \n s celorepublikovým průměrem mezi roky 2019 a 2020')
ax2.set_title('Porovnání růstu cen bytů v okresech \n s celorepublikovým průměrem mezi roky 2020 a 2021')
ax3.set_title('Porovnání růstu cen bytů v okresech \n s celorepublikovým průměrem mezi roky 2021 a 2022')
ax4.set_title('Porovnání růstu cen bytů v okresech \n s celorepublikovým průměrem mezi roky 2019 a 2022')
Text(0.5, 1.0, 'Porovnání růstu cen bytů v okresech \n s celorepublikovým průměrem mezi roky 2019 a 2022')
Analýzou dostupných dat jsme určili vztahy mezi cenou nemovitostí, počtem dokončených nemovitostí a počtem přistěhovalých obyvatel. Všechny okresy mají pro každý rok tyto vztahy jiné. Proto není možné mít jediný závěr pro celou Českou republiku.