Pastatų administratorių apžvalga

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

In [1]:
%matplotlib inline
In [2]:
import pandas as pd
In [3]:
data = pd.read_csv('pastatu-administravimas.csv')
In [32]:
data = data[data.STATPASK == 'Gyvenamoji (trys ir daugiau butų)']
In [33]:
data = data[~data.ADMINISTR.isnull()]
In [35]:
data = data[data.VALDFORM == 1]
In [50]:
data['ADMINISTR'] = data.ADMINISTR.str.replace(',,', '"')
data['ADMINISTR'] = data.ADMINISTR.str.replace("''", '"')
data['ADMINISTR'] = data.ADMINISTR.str.strip()
data['ADMINISTR'] = data.ADMINISTR.str.replace('“', '"')
In [84]:
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()

Pastatų administratoriai ir techninės pastatų priežiūros paslaugas teikiančios įmonės

Sąraše dominuoja UAB „Mano būstas“.

In [101]:
frame = data.groupby(['ADMINISTR', 'NTPRIZ']).OBJECTID.count().to_frame()
frame.columns = ['Pastatų sk.']
frame.index.names = ['Pastato administratorius', 'Techninis prižiūrėtojas']
frame
Out[101]:
Pastatų sk.
Pastato administratorius Techninis prižiūrėtojas
L. Šukio PĮ Aupaira Drąsutis Kulbė 2
UAB "ADMI" UAB "ADMI" 15
UAB "Adminsta" UAB "Adminsta" 70
UAB "Antakalnio būstas" UAB "Mano būstas" 288
UAB "Būsto renovacijos agentūra" UAB "Būsto renovacijos agentūra 9
UAB "Castrade Service" UAB "CASTRADE SERVICE" 40
UAB "Castrade service" UAB "CASTRADE SERVICE" 2
UAB "Corpus A" UAB "Corpus A" 14
UAB "Fabeta" UAB "Fabeta" 194
UAB "Jurita" UAB "Jurita" 71
UAB "Justiniškių būstas" UAB "Mano būstas" 65
UAB "Karoliniškių būstas" UAB "Mano būstas" 170
UAB "Lazdynų butų ūkis" UAB "Mano būstas" 145
UAB "Namų priežiūros centras" UAB "Mano būstas" 191
Valentinas Pumputis 4
UAB "Namų ūkis" UAB "Namų ūkis" 1
UAB "Naujamiesčio būstas" UAB "Mano būstas" 736
UAB "Naujininkų ūkis" UAB "Mano būstas" 519
UAB "Naujoji Pilaitė" UAB "Naujoji Pilaitė" 80
UAB "Ozo miestas" (buvusi UAB "Fixum") UAB ''Pastatų ūkio priežiūra" 12
UAB "Pašilaičių būstas" UAB "Mano būstas" 105
UAB "Priemiestis" UAB "Priemiestis" 334
UAB "Rasų valda" UAB "Rasų valda" 54
UAB "Senamiesčio ūkis" UAB "Pastatų ūkio priežiūra" 701
UAB "Servico" Romualdas Vrublevskis 43
UAB "Verkių būstas" UAB "Verkių būstas" 168
UAB "Vilkpėdės būstas" UAB "Mano būstas" 94
UAB "Viršuliškių būstas" UAB "Mano būstas" 60
UAB "Šilėja" UAB "Šilėja" 222
UAB "Žirmūnų būstas" UAB "Mano būstas" 457
UAB "Žirmūnų būstas" 1

Pastatų techninės priežiūros paslaugas teikiančios įmonės

In [108]:
ax = data.NTPRIZ.value_counts()[::-1].plot.barh(figsize=(16, 8))
ax.set_xlabel('Pastatų sk.');

Pastų administratoriai pagal administruojamų pastatų skaičių

In [110]:
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.');

Pastatų administratoriai pagal gyvenamų patalpų skaičių

In [111]:
ax = data.groupby(data.ADMINISTR).PATALPUGSK.sum().sort_values(ascending=False)[:30][::-1].plot.barh(figsize=(16, 16))
ax.set_xlabel('Gyvenamų patalpų sk.');

Pastatų administratoriai pagal vidutinį gyvenamų patalpų skaičių pastate

In [184]:
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');

Pastatų administratoriai pagal bendrąjį ir naudingąjį pastato plotą

In [120]:
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));

Vidutinis administruojamų gyvenamųjų patalpų plotas

In [125]:
frame =  (data.NAUD_PLOT / data.PATALPUGSK).groupby(data.ADMINISTR).median()
frame = frame.sort_values(ascending=False)
frame[::-1].plot.barh(figsize=(16, 16));