Vilniuje vyksta pastatų administratoriaus rinkimai. Tačiau informacijos apie pastatų administratorius yra labai nedaug. Todėl nusprendžiau paanalizuoti atvirus duomenis, apie pastatų administratorius.
Duomenų šaltinis: https://data-vplanas.opendata.arcgis.com/datasets/pastatų-administravimas
%matplotlib inline
import pandas as pd
data = pd.read_csv('pastatu-administravimas.csv')
data = data[data.STATPASK == 'Gyvenamoji (trys ir daugiau butų)']
data = data[~data.ADMINISTR.isnull()]
data = data[data.VALDFORM == 1]
data['ADMINISTR'] = data.ADMINISTR.str.replace(',,', '"')
data['ADMINISTR'] = data.ADMINISTR.str.replace("''", '"')
data['ADMINISTR'] = data.ADMINISTR.str.strip()
data['ADMINISTR'] = data.ADMINISTR.str.replace('“', '"')
import re
data['NTPRIZ'] = data.NTPRIZ.str.replace(',,', '"')
data['NTPRIZ'] = data.NTPRIZ.str.replace('„', '"')
data['NTPRIZ'] = data.NTPRIZ.str.replace('“', '"')
data['NTPRIZ'] = data.NTPRIZ.str.replace('"Admi"', '"ADMI"')
data['NTPRIZ'] = data.NTPRIZ.str.replace('UAB"UAB "ADMI""', 'UAB "ADMI"')
data['NTPRIZ'] = data.NTPRIZ.str.replace('UUAB', 'UAB')
data['NTPRIZ'] = data.NTPRIZ.str.replace('UAB "Mano būstas"', 'UAB "Mano būstas"')
data['NTPRIZ'] = data.NTPRIZ.str.replace(re.compile(r'\s+'), ' ')
data['NTPRIZ'] = data.NTPRIZ.str.strip()
Sąraše dominuoja UAB „Mano būstas“.
frame = data.groupby(['ADMINISTR', 'NTPRIZ']).OBJECTID.count().to_frame()
frame.columns = ['Pastatų sk.']
frame.index.names = ['Pastato administratorius', 'Techninis prižiūrėtojas']
frame
ax = data.NTPRIZ.value_counts()[::-1].plot.barh(figsize=(16, 8))
ax.set_xlabel('Pastatų sk.');
import seaborn as sns
sns.set(style='darkgrid', font_scale=2)
administratoriai = data.ADMINISTR.value_counts()
ax = administratoriai[administratoriai > 1][:30][::-1].plot.barh(figsize=(16, 16))
ax.set_xlabel('Pastatų sk.');
ax = data.groupby(data.ADMINISTR).PATALPUGSK.sum().sort_values(ascending=False)[:30][::-1].plot.barh(figsize=(16, 16))
ax.set_xlabel('Gyvenamų patalpų sk.');
ax = data.groupby(data.ADMINISTR).PATALPUGSK.median().sort_values(ascending=False)[:30][::-1].plot.barh(figsize=(16, 16))
ax.set_xlabel('Vidutinis gyvenamų patalpų sk. pastate');
frame = data.groupby('ADMINISTR').agg({
'BENDR_PLOT': 'sum',
'NAUD_PLOT': 'sum',
}).sort_values('NAUD_PLOT', ascending=False)
frame.columns = ['Bendrasis plotas', 'Naudingasis plotas']
frame[::-1].plot.barh(figsize=(16, 16));
frame = (data.NAUD_PLOT / data.PATALPUGSK).groupby(data.ADMINISTR).median()
frame = frame.sort_values(ascending=False)
frame[::-1].plot.barh(figsize=(16, 16));