Upozornění: Tento dokument slouží jako příklad práce s otevřenými daty a nepředstavuje oficiální stanovisko Ministerstva financí.
Úvod¶
V tomto dokumentu se pokusíme prezentovat data z Monitoru státní pokladny, ve kterém nalezneme mimo jiné účetní data obcí, díky nimž můžeme získat jistý vhled do problematiky jejich zadluženosti. Pro srovnání jsme využili ukazatel celkové zadluženosti v roce 2019, tedy podíl cizích zdrojů na celkových aktivech obce. Pro závěrečnou ilustraci částek pak položku rozvahy "dlouhodobé závazky".
Upozorňujeme, že se jedná pouze o ukázku práce s daty, nikoliv o komplexní analýzu a nelze tedy z tohoto dokumentu dělat závěry o zadluženosti obcí.
V této ukázce jsme si práci trochu usnadnili a data zpracovali s využitím naší databáze, která data zpracovává do podoby tabulek automaticky. Na to, jak exporty ve formátu XML zpracovat ručně, se podíváme v jiném článku.
import pandas as pd
data_ratios = pd.read_json("https://opendata.mfcr.cz/api/stories/zadluzenost_pomer")
data_hist = pd.read_json("https://opendata.mfcr.cz/api/stories/zadluzenost_histogram")
Nejzadluženější obce¶
Dle vybrané metriky jsou nejvíce zadlužené obce tyto:
view = pd.DataFrame(data_ratios).sort_values(by='ratio', ascending=False).rename({"ucjed_nazev":"Obec"},axis=1)
pomer_format = view['ratio'].apply(lambda x: '{0:.1f}'.format(x*100)+"%")
view["Míra celkové zadluženosti"] = pomer_format
view.drop("ratio",axis=1).head(10)
Rozdělení obcí dle zadlužení:¶
Mimo obce nejzadluženější se podíváme ještě na to, jak si vedou obce celkově. Následující histogram ukazuje, v jakých řádech se pohybují dlouhodobé závazky obcí. Pro každý řád ukazuje výše sloupce počet obcí, které do takové kategorie spadají. Jak vidíme, značné množství obcí nalezneme již v první skupině, tedy v oblasti nulového dlouhodobého zadlužení.
def format_sup(x):
how = str.maketrans("0123456789", "⁰¹²³⁴⁵⁶⁷⁸⁹")
if(x==0):
return 1
else:
return "10"+str(x).translate(how)
labels = list(data_hist["bucket"].apply(format_sup))
values = list(data_hist["count"])
from iplotter import ChartJSPlotter
plotter = ChartJSPlotter()
chart = {"labels": labels,"datasets": [{"label":"Počet obcí","data": values, "backgroundColor":"#0099ff"}]}
plotter.plot(chart,chart_type="bar",options=None)