mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-07-04 17:23:12 +02:00
1975 lines
110 KiB
Plaintext
1975 lines
110 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"..."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 124,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import pandas as pd"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 125,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"pd.options.display.float_format = '{:.2f}'.format"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"..."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 126,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\micha\\AppData\\Local\\Temp\\ipykernel_26160\\3760256257.py:1: DtypeWarning: Columns (25) have mixed types. Specify dtype option on import or set low_memory=False.\n",
|
||
" df_dofinansowanie = pd.read_csv(\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"df_dofinansowanie = pd.read_csv(\n",
|
||
" 'umowy_pelna_lista_krajowe.csv',\n",
|
||
" encoding='ISO-8859-2',\n",
|
||
" converters={'TERYT pe?ny': str},\n",
|
||
" thousands=',')\n",
|
||
"\n",
|
||
"df_dofinansowanie = df_dofinansowanie.loc[df_dofinansowanie['TERYT pe?ny'] != ''].reset_index(drop=True)\n",
|
||
"\n",
|
||
"df_dofinansowanie['Dofinansowanie UE (PLN)'] = \\\n",
|
||
" df_dofinansowanie['Dofinansowanie UE (PLN)'].apply(pd.to_numeric)\n",
|
||
"\n",
|
||
"df_dofinansowanie['Data rozpocz?cia realizacji'] = pd.to_datetime(df_dofinansowanie['Data rozpocz?cia realizacji'])\n",
|
||
"df_dofinansowanie['Rok rozpocz?cia realizacji'] = df_dofinansowanie['Data rozpocz?cia realizacji'].dt.year\n",
|
||
"\n",
|
||
"df_dofinansowanie['Data podpisania umowy pierwotnej'] = pd.to_datetime(df_dofinansowanie['Data podpisania umowy pierwotnej'])\n",
|
||
"df_dofinansowanie['Rok podpisania umowy pierwotnej'] = df_dofinansowanie['Data podpisania umowy pierwotnej'].dt.year"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 127,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"df_dofinansowanie_agg = df_dofinansowanie \\\n",
|
||
" .groupby(['TERYT pe?ny', 'Rok rozpocz?cia realizacji'])['Dofinansowanie UE (PLN)'].sum().reset_index()\n",
|
||
"df_dofinansowanie_agg = df_dofinansowanie_agg \\\n",
|
||
" .rename(columns={'TERYT pe?ny': 'Kod', 'Rok rozpocz?cia realizacji': 'Rok', 'Dofinansowanie UE (PLN)': 'Suma'})\n",
|
||
"df_dofinansowanie_agg = df_dofinansowanie_agg \\\n",
|
||
" .loc[df_dofinansowanie_agg['Kod'].str.len() == 7].reset_index(drop=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"..."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 128,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"df_podz = pd.read_csv(\n",
|
||
" 'PODZ_1410_CREL.csv',\n",
|
||
" sep=';',\n",
|
||
" converters={'Kod': str})\n",
|
||
"df_podz = df_podz[['Kod', 'Rok', 'Wartosc']]\n",
|
||
"df_podz = df_podz.loc[df_podz['Kod'].str.endswith(('1', '2', '3'))]\n",
|
||
"df_podz = df_podz.dropna()\n",
|
||
"df_podz = df_podz.rename(columns={\n",
|
||
" 'Wartosc': 'Powierzchnia'})"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 129,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"df_wyna = pd.read_csv(\n",
|
||
" 'WYNA_2497_CREL.csv',\n",
|
||
" sep=';',\n",
|
||
" converters={'Kod': str},\n",
|
||
" decimal=',')\n",
|
||
"df_wyna = df_wyna[['Kod', 'Wyszczególnienie', 'Rok', 'Wartosc']]\n",
|
||
"df_wyna = df_wyna.dropna()\n",
|
||
"df_wyna = df_wyna.pivot_table(index=['Kod', 'Rok'], columns='Wyszczególnienie', values='Wartosc').reset_index()\n",
|
||
"df_wyna = df_wyna.rename(columns={\n",
|
||
" 'ogółem': 'Wynagrodzenie_ogolem',\n",
|
||
" 'przeciętne miesięczne wynagrodzenia brutto w relacji do średniej krajowej (Polska=100)': 'Wynagrodzenie_w_relacji_do_sredniej'})"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 130,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\micha\\AppData\\Local\\Temp\\ipykernel_26160\\1671418303.py:1: DtypeWarning: Columns (7) have mixed types. Specify dtype option on import or set low_memory=False.\n",
|
||
" df_fina_1 = pd.read_csv(\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th>Rodzaje dochodów</th>\n",
|
||
" <th>Kod</th>\n",
|
||
" <th>Rok</th>\n",
|
||
" <th>Dochody_podatek_lesny</th>\n",
|
||
" <th>Dochody_podatek_PCC</th>\n",
|
||
" <th>Dochody_podatek_od_dzialalnosci_gospodarczej</th>\n",
|
||
" <th>Dochody_podatek_od_nieruchomosci</th>\n",
|
||
" <th>Dochody_podatek_od_spadkow</th>\n",
|
||
" <th>Dochody_podatek_od_srodkow_transportowych</th>\n",
|
||
" <th>Dochody_podatek_rolny</th>\n",
|
||
" <th>Dochody_podatek_odrebne_ustawy</th>\n",
|
||
" <th>Dochody_razem</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2004</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>549608.00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>13532989.00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>625159.00</td>\n",
|
||
" <td>23687.00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>41378568.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2005</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>609855.00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>13667398.00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>700134.00</td>\n",
|
||
" <td>26634.00</td>\n",
|
||
" <td>15438121.00</td>\n",
|
||
" <td>43417443.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2006</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>844223.65</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>14633962.72</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>747182.64</td>\n",
|
||
" <td>11683.60</td>\n",
|
||
" <td>16647124.98</td>\n",
|
||
" <td>50319253.08</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2007</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1344365.01</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>14944781.74</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>777345.52</td>\n",
|
||
" <td>19377.36</td>\n",
|
||
" <td>17436387.93</td>\n",
|
||
" <td>62025513.24</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2008</td>\n",
|
||
" <td>6799.55</td>\n",
|
||
" <td>1790135.40</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>16089534.56</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>836441.10</td>\n",
|
||
" <td>30823.60</td>\n",
|
||
" <td>19149551.45</td>\n",
|
||
" <td>80755930.93</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>47078</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2018</td>\n",
|
||
" <td>154462.39</td>\n",
|
||
" <td>5361951.37</td>\n",
|
||
" <td>572868.36</td>\n",
|
||
" <td>108107448.79</td>\n",
|
||
" <td>437144.83</td>\n",
|
||
" <td>589658.88</td>\n",
|
||
" <td>51297.75</td>\n",
|
||
" <td>115274832.37</td>\n",
|
||
" <td>261780766.79</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>47079</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2019</td>\n",
|
||
" <td>150329.31</td>\n",
|
||
" <td>6088184.20</td>\n",
|
||
" <td>468411.51</td>\n",
|
||
" <td>38527846.59</td>\n",
|
||
" <td>228886.23</td>\n",
|
||
" <td>608637.40</td>\n",
|
||
" <td>64855.15</td>\n",
|
||
" <td>46137150.39</td>\n",
|
||
" <td>167638796.15</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>47080</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2020</td>\n",
|
||
" <td>156556.52</td>\n",
|
||
" <td>5125090.74</td>\n",
|
||
" <td>329522.12</td>\n",
|
||
" <td>78767466.83</td>\n",
|
||
" <td>552009.16</td>\n",
|
||
" <td>558925.68</td>\n",
|
||
" <td>48689.09</td>\n",
|
||
" <td>85538260.14</td>\n",
|
||
" <td>263006955.07</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>47081</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2021</td>\n",
|
||
" <td>163778.36</td>\n",
|
||
" <td>9082482.28</td>\n",
|
||
" <td>492045.28</td>\n",
|
||
" <td>78491368.35</td>\n",
|
||
" <td>947992.83</td>\n",
|
||
" <td>602586.14</td>\n",
|
||
" <td>59824.46</td>\n",
|
||
" <td>89840077.70</td>\n",
|
||
" <td>252345800.93</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>47082</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2022</td>\n",
|
||
" <td>174823.49</td>\n",
|
||
" <td>7474079.65</td>\n",
|
||
" <td>1019054.56</td>\n",
|
||
" <td>84996948.99</td>\n",
|
||
" <td>593315.54</td>\n",
|
||
" <td>627169.86</td>\n",
|
||
" <td>50987.00</td>\n",
|
||
" <td>94936379.09</td>\n",
|
||
" <td>259310641.60</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>47083 rows × 11 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
"Rodzaje dochodów Kod Rok Dochody_podatek_lesny Dochody_podatek_PCC \n",
|
||
"0 0201011 2004 NaN 549608.00 \\\n",
|
||
"1 0201011 2005 NaN 609855.00 \n",
|
||
"2 0201011 2006 NaN 844223.65 \n",
|
||
"3 0201011 2007 NaN 1344365.01 \n",
|
||
"4 0201011 2008 6799.55 1790135.40 \n",
|
||
"... ... ... ... ... \n",
|
||
"47078 3263011 2018 154462.39 5361951.37 \n",
|
||
"47079 3263011 2019 150329.31 6088184.20 \n",
|
||
"47080 3263011 2020 156556.52 5125090.74 \n",
|
||
"47081 3263011 2021 163778.36 9082482.28 \n",
|
||
"47082 3263011 2022 174823.49 7474079.65 \n",
|
||
"\n",
|
||
"Rodzaje dochodów Dochody_podatek_od_dzialalnosci_gospodarczej \n",
|
||
"0 NaN \\\n",
|
||
"1 NaN \n",
|
||
"2 NaN \n",
|
||
"3 NaN \n",
|
||
"4 NaN \n",
|
||
"... ... \n",
|
||
"47078 572868.36 \n",
|
||
"47079 468411.51 \n",
|
||
"47080 329522.12 \n",
|
||
"47081 492045.28 \n",
|
||
"47082 1019054.56 \n",
|
||
"\n",
|
||
"Rodzaje dochodów Dochody_podatek_od_nieruchomosci \n",
|
||
"0 13532989.00 \\\n",
|
||
"1 13667398.00 \n",
|
||
"2 14633962.72 \n",
|
||
"3 14944781.74 \n",
|
||
"4 16089534.56 \n",
|
||
"... ... \n",
|
||
"47078 108107448.79 \n",
|
||
"47079 38527846.59 \n",
|
||
"47080 78767466.83 \n",
|
||
"47081 78491368.35 \n",
|
||
"47082 84996948.99 \n",
|
||
"\n",
|
||
"Rodzaje dochodów Dochody_podatek_od_spadkow \n",
|
||
"0 NaN \\\n",
|
||
"1 NaN \n",
|
||
"2 NaN \n",
|
||
"3 NaN \n",
|
||
"4 NaN \n",
|
||
"... ... \n",
|
||
"47078 437144.83 \n",
|
||
"47079 228886.23 \n",
|
||
"47080 552009.16 \n",
|
||
"47081 947992.83 \n",
|
||
"47082 593315.54 \n",
|
||
"\n",
|
||
"Rodzaje dochodów Dochody_podatek_od_srodkow_transportowych \n",
|
||
"0 625159.00 \\\n",
|
||
"1 700134.00 \n",
|
||
"2 747182.64 \n",
|
||
"3 777345.52 \n",
|
||
"4 836441.10 \n",
|
||
"... ... \n",
|
||
"47078 589658.88 \n",
|
||
"47079 608637.40 \n",
|
||
"47080 558925.68 \n",
|
||
"47081 602586.14 \n",
|
||
"47082 627169.86 \n",
|
||
"\n",
|
||
"Rodzaje dochodów Dochody_podatek_rolny Dochody_podatek_odrebne_ustawy \n",
|
||
"0 23687.00 NaN \\\n",
|
||
"1 26634.00 15438121.00 \n",
|
||
"2 11683.60 16647124.98 \n",
|
||
"3 19377.36 17436387.93 \n",
|
||
"4 30823.60 19149551.45 \n",
|
||
"... ... ... \n",
|
||
"47078 51297.75 115274832.37 \n",
|
||
"47079 64855.15 46137150.39 \n",
|
||
"47080 48689.09 85538260.14 \n",
|
||
"47081 59824.46 89840077.70 \n",
|
||
"47082 50987.00 94936379.09 \n",
|
||
"\n",
|
||
"Rodzaje dochodów Dochody_razem \n",
|
||
"0 41378568.00 \n",
|
||
"1 43417443.00 \n",
|
||
"2 50319253.08 \n",
|
||
"3 62025513.24 \n",
|
||
"4 80755930.93 \n",
|
||
"... ... \n",
|
||
"47078 261780766.79 \n",
|
||
"47079 167638796.15 \n",
|
||
"47080 263006955.07 \n",
|
||
"47081 252345800.93 \n",
|
||
"47082 259310641.60 \n",
|
||
"\n",
|
||
"[47083 rows x 11 columns]"
|
||
]
|
||
},
|
||
"execution_count": 130,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df_fina_1 = pd.read_csv(\n",
|
||
" 'FINA_2622_CREL_1.csv',\n",
|
||
" sep=';',\n",
|
||
" converters={'Kod': str},\n",
|
||
" decimal=',')\n",
|
||
"df_fina_1 = df_fina_1[['Kod', 'Rodzaje dochodów', 'Rok', 'Wartosc']]\n",
|
||
"df_fina_1 = df_fina_1.dropna()\n",
|
||
"df_fina_1 = df_fina_1.pivot_table(index=['Kod', 'Rok'], columns='Rodzaje dochodów', values='Wartosc').reset_index()\n",
|
||
"df_fina_1 = df_fina_1.rename(columns={\n",
|
||
" 'dochody podatkowe - podatek leśny': 'Dochody_podatek_lesny',\n",
|
||
" 'dochody podatkowe - podatek od czynności cywilnoprawnych': 'Dochody_podatek_PCC',\n",
|
||
" 'dochody podatkowe - podatek od działalności gospodarczej osób fizycznych, opłacany w formie karty podatkowej': 'Dochody_podatek_od_dzialalnosci_gospodarczej',\n",
|
||
" 'dochody podatkowe - podatek od nieruchomości': 'Dochody_podatek_od_nieruchomosci',\n",
|
||
" 'dochody podatkowe - podatek od spadków i darowizn': 'Dochody_podatek_od_spadkow',\n",
|
||
" 'dochody podatkowe - podatek od środków transportowych': 'Dochody_podatek_od_srodkow_transportowych',\n",
|
||
" 'dochody podatkowe - podatek rolny': 'Dochody_podatek_rolny',\n",
|
||
" 'dochody podatkowe - ustalone i pobierane na podstawie odrębnych ustaw': 'Dochody_podatek_odrebne_ustawy',\n",
|
||
" 'razem': 'Dochody_razem'})\n",
|
||
"\n",
|
||
"df_fina_1"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 131,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\micha\\AppData\\Local\\Temp\\ipykernel_26160\\2161929356.py:1: DtypeWarning: Columns (7) have mixed types. Specify dtype option on import or set low_memory=False.\n",
|
||
" df_fina_2 = pd.read_csv(\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th>Rodzaje dochodów</th>\n",
|
||
" <th>Kod</th>\n",
|
||
" <th>Rok</th>\n",
|
||
" <th>Dochody_z_majatku</th>\n",
|
||
" <th>Dochody_z_najmu_i_dzierzawy</th>\n",
|
||
" <th>Dochody_z_uslug</th>\n",
|
||
" <th>Dochody_dofinansowanie_inwestycyjne</th>\n",
|
||
" <th>Dochody_dofinansowanie_razem</th>\n",
|
||
" <th>Udzialy_w_podatkach_dochodowych_od_osob_fizycznych</th>\n",
|
||
" <th>Udzialy_w_podatkach_dochodowych_od_osob_prywatnych</th>\n",
|
||
" <th>Udzialy_w_podatkach_dochodowych_razem</th>\n",
|
||
" <th>Wplywy_z_innych_lokalnych_oplat</th>\n",
|
||
" <th>Wplywy_z_oplaty_eksploatacyjnej</th>\n",
|
||
" <th>Wplywy_z_oplaty_skarbowej</th>\n",
|
||
" <th>Wplywy_z_oplaty_targowej</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2004</td>\n",
|
||
" <td>5344205.00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>184307.00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>519209.00</td>\n",
|
||
" <td>13285456.00</td>\n",
|
||
" <td>1065169.00</td>\n",
|
||
" <td>14350625.00</td>\n",
|
||
" <td>44200.00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1209998.00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2005</td>\n",
|
||
" <td>4560489.00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>96462.00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>9024183.00</td>\n",
|
||
" <td>15985331.00</td>\n",
|
||
" <td>1170863.00</td>\n",
|
||
" <td>17156194.00</td>\n",
|
||
" <td>42840.00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1282943.00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2006</td>\n",
|
||
" <td>8528727.69</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>231470.96</td>\n",
|
||
" <td>8752288.98</td>\n",
|
||
" <td>8864860.57</td>\n",
|
||
" <td>18101668.00</td>\n",
|
||
" <td>1048115.83</td>\n",
|
||
" <td>19149783.83</td>\n",
|
||
" <td>37365.00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1203990.73</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2007</td>\n",
|
||
" <td>15042480.34</td>\n",
|
||
" <td>9219682.12</td>\n",
|
||
" <td>339654.15</td>\n",
|
||
" <td>18153240.30</td>\n",
|
||
" <td>18438743.21</td>\n",
|
||
" <td>21785308.00</td>\n",
|
||
" <td>1336702.02</td>\n",
|
||
" <td>23122010.02</td>\n",
|
||
" <td>78798.51</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1228704.53</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2008</td>\n",
|
||
" <td>22797881.07</td>\n",
|
||
" <td>9546379.31</td>\n",
|
||
" <td>787256.69</td>\n",
|
||
" <td>5046691.69</td>\n",
|
||
" <td>5182137.79</td>\n",
|
||
" <td>23974587.00</td>\n",
|
||
" <td>1532633.44</td>\n",
|
||
" <td>25507220.44</td>\n",
|
||
" <td>83882.94</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1364245.93</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>47078</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2018</td>\n",
|
||
" <td>16419859.31</td>\n",
|
||
" <td>4261374.83</td>\n",
|
||
" <td>1996824.80</td>\n",
|
||
" <td>25285.92</td>\n",
|
||
" <td>237485.34</td>\n",
|
||
" <td>52799183.00</td>\n",
|
||
" <td>2690098.17</td>\n",
|
||
" <td>55489281.17</td>\n",
|
||
" <td>10458871.30</td>\n",
|
||
" <td>4684.54</td>\n",
|
||
" <td>434077.88</td>\n",
|
||
" <td>608625.90</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>47079</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2019</td>\n",
|
||
" <td>8844350.07</td>\n",
|
||
" <td>4324758.68</td>\n",
|
||
" <td>2187576.47</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>225831.84</td>\n",
|
||
" <td>55319040.00</td>\n",
|
||
" <td>2770684.17</td>\n",
|
||
" <td>58089724.17</td>\n",
|
||
" <td>11369287.11</td>\n",
|
||
" <td>3456.95</td>\n",
|
||
" <td>415686.53</td>\n",
|
||
" <td>610059.50</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>47080</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2020</td>\n",
|
||
" <td>13485033.97</td>\n",
|
||
" <td>6159923.01</td>\n",
|
||
" <td>1917372.55</td>\n",
|
||
" <td>21002107.00</td>\n",
|
||
" <td>21192313.05</td>\n",
|
||
" <td>53739656.00</td>\n",
|
||
" <td>3144444.38</td>\n",
|
||
" <td>56884100.38</td>\n",
|
||
" <td>12281916.71</td>\n",
|
||
" <td>5157.50</td>\n",
|
||
" <td>355201.29</td>\n",
|
||
" <td>507341.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>47081</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2021</td>\n",
|
||
" <td>16928500.75</td>\n",
|
||
" <td>7582499.62</td>\n",
|
||
" <td>4110105.72</td>\n",
|
||
" <td>888293.63</td>\n",
|
||
" <td>1072910.83</td>\n",
|
||
" <td>63936763.00</td>\n",
|
||
" <td>3975531.95</td>\n",
|
||
" <td>67912294.95</td>\n",
|
||
" <td>17127683.55</td>\n",
|
||
" <td>27746.70</td>\n",
|
||
" <td>416473.03</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>47082</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2022</td>\n",
|
||
" <td>30415536.99</td>\n",
|
||
" <td>8651170.05</td>\n",
|
||
" <td>4117086.30</td>\n",
|
||
" <td>207597.50</td>\n",
|
||
" <td>800347.63</td>\n",
|
||
" <td>64657287.40</td>\n",
|
||
" <td>4082611.64</td>\n",
|
||
" <td>68739899.04</td>\n",
|
||
" <td>19150342.25</td>\n",
|
||
" <td>5035.87</td>\n",
|
||
" <td>421424.91</td>\n",
|
||
" <td>1233266.30</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>47083 rows × 14 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
"Rodzaje dochodów Kod Rok Dochody_z_majatku \n",
|
||
"0 0201011 2004 5344205.00 \\\n",
|
||
"1 0201011 2005 4560489.00 \n",
|
||
"2 0201011 2006 8528727.69 \n",
|
||
"3 0201011 2007 15042480.34 \n",
|
||
"4 0201011 2008 22797881.07 \n",
|
||
"... ... ... ... \n",
|
||
"47078 3263011 2018 16419859.31 \n",
|
||
"47079 3263011 2019 8844350.07 \n",
|
||
"47080 3263011 2020 13485033.97 \n",
|
||
"47081 3263011 2021 16928500.75 \n",
|
||
"47082 3263011 2022 30415536.99 \n",
|
||
"\n",
|
||
"Rodzaje dochodów Dochody_z_najmu_i_dzierzawy Dochody_z_uslug \n",
|
||
"0 NaN 184307.00 \\\n",
|
||
"1 NaN 96462.00 \n",
|
||
"2 NaN 231470.96 \n",
|
||
"3 9219682.12 339654.15 \n",
|
||
"4 9546379.31 787256.69 \n",
|
||
"... ... ... \n",
|
||
"47078 4261374.83 1996824.80 \n",
|
||
"47079 4324758.68 2187576.47 \n",
|
||
"47080 6159923.01 1917372.55 \n",
|
||
"47081 7582499.62 4110105.72 \n",
|
||
"47082 8651170.05 4117086.30 \n",
|
||
"\n",
|
||
"Rodzaje dochodów Dochody_dofinansowanie_inwestycyjne \n",
|
||
"0 NaN \\\n",
|
||
"1 NaN \n",
|
||
"2 8752288.98 \n",
|
||
"3 18153240.30 \n",
|
||
"4 5046691.69 \n",
|
||
"... ... \n",
|
||
"47078 25285.92 \n",
|
||
"47079 0.00 \n",
|
||
"47080 21002107.00 \n",
|
||
"47081 888293.63 \n",
|
||
"47082 207597.50 \n",
|
||
"\n",
|
||
"Rodzaje dochodów Dochody_dofinansowanie_razem \n",
|
||
"0 519209.00 \\\n",
|
||
"1 9024183.00 \n",
|
||
"2 8864860.57 \n",
|
||
"3 18438743.21 \n",
|
||
"4 5182137.79 \n",
|
||
"... ... \n",
|
||
"47078 237485.34 \n",
|
||
"47079 225831.84 \n",
|
||
"47080 21192313.05 \n",
|
||
"47081 1072910.83 \n",
|
||
"47082 800347.63 \n",
|
||
"\n",
|
||
"Rodzaje dochodów Udzialy_w_podatkach_dochodowych_od_osob_fizycznych \n",
|
||
"0 13285456.00 \\\n",
|
||
"1 15985331.00 \n",
|
||
"2 18101668.00 \n",
|
||
"3 21785308.00 \n",
|
||
"4 23974587.00 \n",
|
||
"... ... \n",
|
||
"47078 52799183.00 \n",
|
||
"47079 55319040.00 \n",
|
||
"47080 53739656.00 \n",
|
||
"47081 63936763.00 \n",
|
||
"47082 64657287.40 \n",
|
||
"\n",
|
||
"Rodzaje dochodów Udzialy_w_podatkach_dochodowych_od_osob_prywatnych \n",
|
||
"0 1065169.00 \\\n",
|
||
"1 1170863.00 \n",
|
||
"2 1048115.83 \n",
|
||
"3 1336702.02 \n",
|
||
"4 1532633.44 \n",
|
||
"... ... \n",
|
||
"47078 2690098.17 \n",
|
||
"47079 2770684.17 \n",
|
||
"47080 3144444.38 \n",
|
||
"47081 3975531.95 \n",
|
||
"47082 4082611.64 \n",
|
||
"\n",
|
||
"Rodzaje dochodów Udzialy_w_podatkach_dochodowych_razem \n",
|
||
"0 14350625.00 \\\n",
|
||
"1 17156194.00 \n",
|
||
"2 19149783.83 \n",
|
||
"3 23122010.02 \n",
|
||
"4 25507220.44 \n",
|
||
"... ... \n",
|
||
"47078 55489281.17 \n",
|
||
"47079 58089724.17 \n",
|
||
"47080 56884100.38 \n",
|
||
"47081 67912294.95 \n",
|
||
"47082 68739899.04 \n",
|
||
"\n",
|
||
"Rodzaje dochodów Wplywy_z_innych_lokalnych_oplat \n",
|
||
"0 44200.00 \\\n",
|
||
"1 42840.00 \n",
|
||
"2 37365.00 \n",
|
||
"3 78798.51 \n",
|
||
"4 83882.94 \n",
|
||
"... ... \n",
|
||
"47078 10458871.30 \n",
|
||
"47079 11369287.11 \n",
|
||
"47080 12281916.71 \n",
|
||
"47081 17127683.55 \n",
|
||
"47082 19150342.25 \n",
|
||
"\n",
|
||
"Rodzaje dochodów Wplywy_z_oplaty_eksploatacyjnej Wplywy_z_oplaty_skarbowej \n",
|
||
"0 NaN 1209998.00 \\\n",
|
||
"1 NaN 1282943.00 \n",
|
||
"2 NaN 1203990.73 \n",
|
||
"3 NaN 1228704.53 \n",
|
||
"4 NaN 1364245.93 \n",
|
||
"... ... ... \n",
|
||
"47078 4684.54 434077.88 \n",
|
||
"47079 3456.95 415686.53 \n",
|
||
"47080 5157.50 355201.29 \n",
|
||
"47081 27746.70 416473.03 \n",
|
||
"47082 5035.87 421424.91 \n",
|
||
"\n",
|
||
"Rodzaje dochodów Wplywy_z_oplaty_targowej \n",
|
||
"0 NaN \n",
|
||
"1 NaN \n",
|
||
"2 NaN \n",
|
||
"3 NaN \n",
|
||
"4 NaN \n",
|
||
"... ... \n",
|
||
"47078 608625.90 \n",
|
||
"47079 610059.50 \n",
|
||
"47080 507341.00 \n",
|
||
"47081 0.00 \n",
|
||
"47082 1233266.30 \n",
|
||
"\n",
|
||
"[47083 rows x 14 columns]"
|
||
]
|
||
},
|
||
"execution_count": 131,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df_fina_2 = pd.read_csv(\n",
|
||
" 'FINA_2622_CREL_2.csv',\n",
|
||
" sep=';',\n",
|
||
" converters={'Kod': str},\n",
|
||
" decimal=',')\n",
|
||
"df_fina_2 = df_fina_2[['Kod', 'Rodzaje dochodów', 'Rok', 'Wartosc']]\n",
|
||
"df_fina_2 = df_fina_2.dropna()\n",
|
||
"df_fina_2 = df_fina_2.pivot_table(index=['Kod', 'Rok'], columns='Rodzaje dochodów', values='Wartosc').reset_index()\n",
|
||
"df_fina_2 = df_fina_2.rename(columns={\n",
|
||
" 'dochody z majątku': 'Dochody_z_majatku',\n",
|
||
" 'dochody z majątku - dochody z najmu i dzierżawy składników majątkowych JST oraz innych umów o podobnym charakterze': 'Dochody_z_najmu_i_dzierzawy',\n",
|
||
" 'pozostałe dochody - wpływy z usług': 'Dochody_z_uslug',\n",
|
||
" 'pozostałe dochody - środki na dofinansowanie własnych zadań pozyskane z innych źródeł - inwestycyjne': 'Dochody_dofinansowanie_inwestycyjne',\n",
|
||
" 'pozostałe dochody - środki na dofinansowanie własnych zadań pozyskane z innych źródeł - razem': 'Dochody_dofinansowanie_razem',\n",
|
||
" 'udziały w podatkach stanowiących dochody budżetu państwa podatek dochodowy od osób fizycznych': 'Udzialy_w_podatkach_dochodowych_od_osob_fizycznych',\n",
|
||
" 'udziały w podatkach stanowiących dochody budżetu państwa podatek dochodowy od osób prawnych': 'Udzialy_w_podatkach_dochodowych_od_osob_prywatnych',\n",
|
||
" 'udziały w podatkach stanowiących dochody budżetu państwa razem': 'Udzialy_w_podatkach_dochodowych_razem',\n",
|
||
" 'wpływy z innych lokalnych opłat pobieranych przez jednostki samorządu terytorialnego na podstawie odrębnych ustaw': 'Wplywy_z_innych_lokalnych_oplat',\n",
|
||
" 'wpływy z opłaty eksploatacyjnej': 'Wplywy_z_oplaty_eksploatacyjnej',\n",
|
||
" 'wpływy z opłaty skarbowej': 'Wplywy_z_oplaty_skarbowej',\n",
|
||
" 'wpływy z opłaty targowej': 'Wplywy_z_oplaty_targowej'})\n",
|
||
"\n",
|
||
"df_fina_2"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 132,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th>Wiek</th>\n",
|
||
" <th>Kod</th>\n",
|
||
" <th>Rok</th>\n",
|
||
" <th>Ludnosc_ogolem</th>\n",
|
||
" <th>Ludnosc_w_wieku_poprodukcyjnym</th>\n",
|
||
" <th>Ludnosc_w_wieku_produkcyjnym</th>\n",
|
||
" <th>Ludnosc_w_wieku_produkcyjnym_mobilnym</th>\n",
|
||
" <th>Ludnosc_w_wieku_produkcyjnym_niemobilnym</th>\n",
|
||
" <th>Ludnosc_w_wieku_przedprodukcyjnym</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2010</td>\n",
|
||
" <td>40309.00</td>\n",
|
||
" <td>7683.00</td>\n",
|
||
" <td>26085.00</td>\n",
|
||
" <td>15183.00</td>\n",
|
||
" <td>10902.00</td>\n",
|
||
" <td>6541.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2011</td>\n",
|
||
" <td>40119.00</td>\n",
|
||
" <td>8020.00</td>\n",
|
||
" <td>25647.00</td>\n",
|
||
" <td>15047.00</td>\n",
|
||
" <td>10600.00</td>\n",
|
||
" <td>6452.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2012</td>\n",
|
||
" <td>39851.00</td>\n",
|
||
" <td>8392.00</td>\n",
|
||
" <td>25160.00</td>\n",
|
||
" <td>14932.00</td>\n",
|
||
" <td>10228.00</td>\n",
|
||
" <td>6299.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2013</td>\n",
|
||
" <td>39603.00</td>\n",
|
||
" <td>8678.00</td>\n",
|
||
" <td>24720.00</td>\n",
|
||
" <td>14784.00</td>\n",
|
||
" <td>9936.00</td>\n",
|
||
" <td>6205.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2014</td>\n",
|
||
" <td>39464.00</td>\n",
|
||
" <td>8971.00</td>\n",
|
||
" <td>24307.00</td>\n",
|
||
" <td>14645.00</td>\n",
|
||
" <td>9662.00</td>\n",
|
||
" <td>6186.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48606</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2018</td>\n",
|
||
" <td>40910.00</td>\n",
|
||
" <td>10472.00</td>\n",
|
||
" <td>24549.00</td>\n",
|
||
" <td>14683.00</td>\n",
|
||
" <td>9866.00</td>\n",
|
||
" <td>5889.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48607</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2019</td>\n",
|
||
" <td>40888.00</td>\n",
|
||
" <td>10788.00</td>\n",
|
||
" <td>24209.00</td>\n",
|
||
" <td>14429.00</td>\n",
|
||
" <td>9780.00</td>\n",
|
||
" <td>5891.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48608</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2020</td>\n",
|
||
" <td>40326.00</td>\n",
|
||
" <td>10962.00</td>\n",
|
||
" <td>23544.00</td>\n",
|
||
" <td>13798.00</td>\n",
|
||
" <td>9746.00</td>\n",
|
||
" <td>5820.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48609</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2021</td>\n",
|
||
" <td>39834.00</td>\n",
|
||
" <td>11050.00</td>\n",
|
||
" <td>22976.00</td>\n",
|
||
" <td>13277.00</td>\n",
|
||
" <td>9699.00</td>\n",
|
||
" <td>5808.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48610</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2022</td>\n",
|
||
" <td>39368.00</td>\n",
|
||
" <td>11157.00</td>\n",
|
||
" <td>22486.00</td>\n",
|
||
" <td>12802.00</td>\n",
|
||
" <td>9684.00</td>\n",
|
||
" <td>5725.00</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>48611 rows × 8 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
"Wiek Kod Rok Ludnosc_ogolem Ludnosc_w_wieku_poprodukcyjnym \n",
|
||
"0 0201011 2010 40309.00 7683.00 \\\n",
|
||
"1 0201011 2011 40119.00 8020.00 \n",
|
||
"2 0201011 2012 39851.00 8392.00 \n",
|
||
"3 0201011 2013 39603.00 8678.00 \n",
|
||
"4 0201011 2014 39464.00 8971.00 \n",
|
||
"... ... ... ... ... \n",
|
||
"48606 3263011 2018 40910.00 10472.00 \n",
|
||
"48607 3263011 2019 40888.00 10788.00 \n",
|
||
"48608 3263011 2020 40326.00 10962.00 \n",
|
||
"48609 3263011 2021 39834.00 11050.00 \n",
|
||
"48610 3263011 2022 39368.00 11157.00 \n",
|
||
"\n",
|
||
"Wiek Ludnosc_w_wieku_produkcyjnym Ludnosc_w_wieku_produkcyjnym_mobilnym \n",
|
||
"0 26085.00 15183.00 \\\n",
|
||
"1 25647.00 15047.00 \n",
|
||
"2 25160.00 14932.00 \n",
|
||
"3 24720.00 14784.00 \n",
|
||
"4 24307.00 14645.00 \n",
|
||
"... ... ... \n",
|
||
"48606 24549.00 14683.00 \n",
|
||
"48607 24209.00 14429.00 \n",
|
||
"48608 23544.00 13798.00 \n",
|
||
"48609 22976.00 13277.00 \n",
|
||
"48610 22486.00 12802.00 \n",
|
||
"\n",
|
||
"Wiek Ludnosc_w_wieku_produkcyjnym_niemobilnym \n",
|
||
"0 10902.00 \\\n",
|
||
"1 10600.00 \n",
|
||
"2 10228.00 \n",
|
||
"3 9936.00 \n",
|
||
"4 9662.00 \n",
|
||
"... ... \n",
|
||
"48606 9866.00 \n",
|
||
"48607 9780.00 \n",
|
||
"48608 9746.00 \n",
|
||
"48609 9699.00 \n",
|
||
"48610 9684.00 \n",
|
||
"\n",
|
||
"Wiek Ludnosc_w_wieku_przedprodukcyjnym \n",
|
||
"0 6541.00 \n",
|
||
"1 6452.00 \n",
|
||
"2 6299.00 \n",
|
||
"3 6205.00 \n",
|
||
"4 6186.00 \n",
|
||
"... ... \n",
|
||
"48606 5889.00 \n",
|
||
"48607 5891.00 \n",
|
||
"48608 5820.00 \n",
|
||
"48609 5808.00 \n",
|
||
"48610 5725.00 \n",
|
||
"\n",
|
||
"[48611 rows x 8 columns]"
|
||
]
|
||
},
|
||
"execution_count": 132,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df_ludn_1 = pd.read_csv( # ogolem\n",
|
||
" 'LUDN_1342_CREL_1.csv',\n",
|
||
" sep=';',\n",
|
||
" converters={'Kod': str},\n",
|
||
" decimal=',')\n",
|
||
"df_ludn_1 = df_ludn_1[['Kod', 'Wiek', 'Rok', 'Wartosc']]\n",
|
||
"df_ludn_1 = df_ludn_1.dropna()\n",
|
||
"df_ludn_1 = df_ludn_1.pivot_table(index=['Kod', 'Rok'], columns='Wiek', values='Wartosc').reset_index()\n",
|
||
"df_ludn_1 = df_ludn_1.rename(columns={\n",
|
||
" 'ogółem': 'Ludnosc_ogolem',\n",
|
||
" 'w wieku poprodukcyjnym': 'Ludnosc_w_wieku_poprodukcyjnym',\n",
|
||
" 'w wieku produkcyjnym': 'Ludnosc_w_wieku_produkcyjnym',\n",
|
||
" 'w wieku produkcyjnym mobilnym': 'Ludnosc_w_wieku_produkcyjnym_mobilnym',\n",
|
||
" 'w wieku produkcyjnym niemobilnym': 'Ludnosc_w_wieku_produkcyjnym_niemobilnym',\n",
|
||
" 'w wieku przedprodukcyjnym': 'Ludnosc_w_wieku_przedprodukcyjnym'})\n",
|
||
"\n",
|
||
"df_ludn_1"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 133,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th>Wiek</th>\n",
|
||
" <th>Kod</th>\n",
|
||
" <th>Rok</th>\n",
|
||
" <th>Ludnosc_mezczyzni</th>\n",
|
||
" <th>Ludnosc_mezczyzni_w_wieku_poprodukcyjnym</th>\n",
|
||
" <th>Ludnosc_mezczyzni_w_wieku_produkcyjnym</th>\n",
|
||
" <th>Ludnosc_mezczyzni_w_wieku_produkcyjnym_mobilnym</th>\n",
|
||
" <th>Ludnosc_mezczyzni_w_wieku_produkcyjnym_niemobilnym</th>\n",
|
||
" <th>Ludnosc_mezczyzni_w_wieku_przedprodukcyjnym</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2010</td>\n",
|
||
" <td>19085.00</td>\n",
|
||
" <td>2153.00</td>\n",
|
||
" <td>13535.00</td>\n",
|
||
" <td>7720.00</td>\n",
|
||
" <td>5815.00</td>\n",
|
||
" <td>3397.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2011</td>\n",
|
||
" <td>18985.00</td>\n",
|
||
" <td>2222.00</td>\n",
|
||
" <td>13398.00</td>\n",
|
||
" <td>7647.00</td>\n",
|
||
" <td>5751.00</td>\n",
|
||
" <td>3365.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2012</td>\n",
|
||
" <td>18859.00</td>\n",
|
||
" <td>2370.00</td>\n",
|
||
" <td>13238.00</td>\n",
|
||
" <td>7611.00</td>\n",
|
||
" <td>5627.00</td>\n",
|
||
" <td>3251.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2013</td>\n",
|
||
" <td>18737.00</td>\n",
|
||
" <td>2477.00</td>\n",
|
||
" <td>13028.00</td>\n",
|
||
" <td>7501.00</td>\n",
|
||
" <td>5527.00</td>\n",
|
||
" <td>3232.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2014</td>\n",
|
||
" <td>18640.00</td>\n",
|
||
" <td>2620.00</td>\n",
|
||
" <td>12832.00</td>\n",
|
||
" <td>7442.00</td>\n",
|
||
" <td>5390.00</td>\n",
|
||
" <td>3188.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48606</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2018</td>\n",
|
||
" <td>19690.00</td>\n",
|
||
" <td>3501.00</td>\n",
|
||
" <td>13202.00</td>\n",
|
||
" <td>7547.00</td>\n",
|
||
" <td>5655.00</td>\n",
|
||
" <td>2987.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48607</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2019</td>\n",
|
||
" <td>19683.00</td>\n",
|
||
" <td>3644.00</td>\n",
|
||
" <td>13044.00</td>\n",
|
||
" <td>7417.00</td>\n",
|
||
" <td>5627.00</td>\n",
|
||
" <td>2995.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48608</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2020</td>\n",
|
||
" <td>19356.00</td>\n",
|
||
" <td>3749.00</td>\n",
|
||
" <td>12617.00</td>\n",
|
||
" <td>6986.00</td>\n",
|
||
" <td>5631.00</td>\n",
|
||
" <td>2990.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48609</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2021</td>\n",
|
||
" <td>19096.00</td>\n",
|
||
" <td>3852.00</td>\n",
|
||
" <td>12267.00</td>\n",
|
||
" <td>6747.00</td>\n",
|
||
" <td>5520.00</td>\n",
|
||
" <td>2977.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48610</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2022</td>\n",
|
||
" <td>18869.00</td>\n",
|
||
" <td>3901.00</td>\n",
|
||
" <td>12009.00</td>\n",
|
||
" <td>6485.00</td>\n",
|
||
" <td>5524.00</td>\n",
|
||
" <td>2959.00</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>48611 rows × 8 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
"Wiek Kod Rok Ludnosc_mezczyzni \n",
|
||
"0 0201011 2010 19085.00 \\\n",
|
||
"1 0201011 2011 18985.00 \n",
|
||
"2 0201011 2012 18859.00 \n",
|
||
"3 0201011 2013 18737.00 \n",
|
||
"4 0201011 2014 18640.00 \n",
|
||
"... ... ... ... \n",
|
||
"48606 3263011 2018 19690.00 \n",
|
||
"48607 3263011 2019 19683.00 \n",
|
||
"48608 3263011 2020 19356.00 \n",
|
||
"48609 3263011 2021 19096.00 \n",
|
||
"48610 3263011 2022 18869.00 \n",
|
||
"\n",
|
||
"Wiek Ludnosc_mezczyzni_w_wieku_poprodukcyjnym \n",
|
||
"0 2153.00 \\\n",
|
||
"1 2222.00 \n",
|
||
"2 2370.00 \n",
|
||
"3 2477.00 \n",
|
||
"4 2620.00 \n",
|
||
"... ... \n",
|
||
"48606 3501.00 \n",
|
||
"48607 3644.00 \n",
|
||
"48608 3749.00 \n",
|
||
"48609 3852.00 \n",
|
||
"48610 3901.00 \n",
|
||
"\n",
|
||
"Wiek Ludnosc_mezczyzni_w_wieku_produkcyjnym \n",
|
||
"0 13535.00 \\\n",
|
||
"1 13398.00 \n",
|
||
"2 13238.00 \n",
|
||
"3 13028.00 \n",
|
||
"4 12832.00 \n",
|
||
"... ... \n",
|
||
"48606 13202.00 \n",
|
||
"48607 13044.00 \n",
|
||
"48608 12617.00 \n",
|
||
"48609 12267.00 \n",
|
||
"48610 12009.00 \n",
|
||
"\n",
|
||
"Wiek Ludnosc_mezczyzni_w_wieku_produkcyjnym_mobilnym \n",
|
||
"0 7720.00 \\\n",
|
||
"1 7647.00 \n",
|
||
"2 7611.00 \n",
|
||
"3 7501.00 \n",
|
||
"4 7442.00 \n",
|
||
"... ... \n",
|
||
"48606 7547.00 \n",
|
||
"48607 7417.00 \n",
|
||
"48608 6986.00 \n",
|
||
"48609 6747.00 \n",
|
||
"48610 6485.00 \n",
|
||
"\n",
|
||
"Wiek Ludnosc_mezczyzni_w_wieku_produkcyjnym_niemobilnym \n",
|
||
"0 5815.00 \\\n",
|
||
"1 5751.00 \n",
|
||
"2 5627.00 \n",
|
||
"3 5527.00 \n",
|
||
"4 5390.00 \n",
|
||
"... ... \n",
|
||
"48606 5655.00 \n",
|
||
"48607 5627.00 \n",
|
||
"48608 5631.00 \n",
|
||
"48609 5520.00 \n",
|
||
"48610 5524.00 \n",
|
||
"\n",
|
||
"Wiek Ludnosc_mezczyzni_w_wieku_przedprodukcyjnym \n",
|
||
"0 3397.00 \n",
|
||
"1 3365.00 \n",
|
||
"2 3251.00 \n",
|
||
"3 3232.00 \n",
|
||
"4 3188.00 \n",
|
||
"... ... \n",
|
||
"48606 2987.00 \n",
|
||
"48607 2995.00 \n",
|
||
"48608 2990.00 \n",
|
||
"48609 2977.00 \n",
|
||
"48610 2959.00 \n",
|
||
"\n",
|
||
"[48611 rows x 8 columns]"
|
||
]
|
||
},
|
||
"execution_count": 133,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df_ludn_2 = pd.read_csv( # mezczyzni\n",
|
||
" 'LUDN_1342_CREL_2.csv',\n",
|
||
" sep=';',\n",
|
||
" converters={'Kod': str},\n",
|
||
" decimal=',')\n",
|
||
"df_ludn_2 = df_ludn_2[['Kod', 'Wiek', 'Rok', 'Wartosc']]\n",
|
||
"df_ludn_2 = df_ludn_2.dropna()\n",
|
||
"df_ludn_2 = df_ludn_2.pivot_table(index=['Kod', 'Rok'], columns='Wiek', values='Wartosc').reset_index()\n",
|
||
"df_ludn_2 = df_ludn_2.rename(columns={\n",
|
||
" 'ogółem': 'Ludnosc_mezczyzni',\n",
|
||
" 'w wieku poprodukcyjnym': 'Ludnosc_mezczyzni_w_wieku_poprodukcyjnym',\n",
|
||
" 'w wieku produkcyjnym': 'Ludnosc_mezczyzni_w_wieku_produkcyjnym',\n",
|
||
" 'w wieku produkcyjnym mobilnym': 'Ludnosc_mezczyzni_w_wieku_produkcyjnym_mobilnym',\n",
|
||
" 'w wieku produkcyjnym niemobilnym': 'Ludnosc_mezczyzni_w_wieku_produkcyjnym_niemobilnym',\n",
|
||
" 'w wieku przedprodukcyjnym': 'Ludnosc_mezczyzni_w_wieku_przedprodukcyjnym'})\n",
|
||
"\n",
|
||
"df_ludn_2"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 134,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th>Wiek</th>\n",
|
||
" <th>Kod</th>\n",
|
||
" <th>Rok</th>\n",
|
||
" <th>Ludnosc_kobiety</th>\n",
|
||
" <th>Ludnosc_kobiety_w_wieku_poprodukcyjnym</th>\n",
|
||
" <th>Ludnosc_kobiety_w_wieku_produkcyjnym</th>\n",
|
||
" <th>Ludnosc_kobiety_w_wieku_produkcyjnym_mobilnym</th>\n",
|
||
" <th>Ludnosc_kobiety_w_wieku_produkcyjnym_niemobilnym</th>\n",
|
||
" <th>Ludnosc_kobiety_w_wieku_przedprodukcyjnym</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2010</td>\n",
|
||
" <td>21224.00</td>\n",
|
||
" <td>5530.00</td>\n",
|
||
" <td>12550.00</td>\n",
|
||
" <td>7463.00</td>\n",
|
||
" <td>5087.00</td>\n",
|
||
" <td>3144.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2011</td>\n",
|
||
" <td>21134.00</td>\n",
|
||
" <td>5798.00</td>\n",
|
||
" <td>12249.00</td>\n",
|
||
" <td>7400.00</td>\n",
|
||
" <td>4849.00</td>\n",
|
||
" <td>3087.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2012</td>\n",
|
||
" <td>20992.00</td>\n",
|
||
" <td>6022.00</td>\n",
|
||
" <td>11922.00</td>\n",
|
||
" <td>7321.00</td>\n",
|
||
" <td>4601.00</td>\n",
|
||
" <td>3048.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2013</td>\n",
|
||
" <td>20866.00</td>\n",
|
||
" <td>6201.00</td>\n",
|
||
" <td>11692.00</td>\n",
|
||
" <td>7283.00</td>\n",
|
||
" <td>4409.00</td>\n",
|
||
" <td>2973.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>0201011</td>\n",
|
||
" <td>2014</td>\n",
|
||
" <td>20824.00</td>\n",
|
||
" <td>6351.00</td>\n",
|
||
" <td>11475.00</td>\n",
|
||
" <td>7203.00</td>\n",
|
||
" <td>4272.00</td>\n",
|
||
" <td>2998.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48606</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2018</td>\n",
|
||
" <td>21220.00</td>\n",
|
||
" <td>6971.00</td>\n",
|
||
" <td>11347.00</td>\n",
|
||
" <td>7136.00</td>\n",
|
||
" <td>4211.00</td>\n",
|
||
" <td>2902.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48607</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2019</td>\n",
|
||
" <td>21205.00</td>\n",
|
||
" <td>7144.00</td>\n",
|
||
" <td>11165.00</td>\n",
|
||
" <td>7012.00</td>\n",
|
||
" <td>4153.00</td>\n",
|
||
" <td>2896.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48608</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2020</td>\n",
|
||
" <td>20970.00</td>\n",
|
||
" <td>7213.00</td>\n",
|
||
" <td>10927.00</td>\n",
|
||
" <td>6812.00</td>\n",
|
||
" <td>4115.00</td>\n",
|
||
" <td>2830.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48609</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2021</td>\n",
|
||
" <td>20738.00</td>\n",
|
||
" <td>7198.00</td>\n",
|
||
" <td>10709.00</td>\n",
|
||
" <td>6530.00</td>\n",
|
||
" <td>4179.00</td>\n",
|
||
" <td>2831.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48610</th>\n",
|
||
" <td>3263011</td>\n",
|
||
" <td>2022</td>\n",
|
||
" <td>20499.00</td>\n",
|
||
" <td>7256.00</td>\n",
|
||
" <td>10477.00</td>\n",
|
||
" <td>6317.00</td>\n",
|
||
" <td>4160.00</td>\n",
|
||
" <td>2766.00</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>48611 rows × 8 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
"Wiek Kod Rok Ludnosc_kobiety Ludnosc_kobiety_w_wieku_poprodukcyjnym \n",
|
||
"0 0201011 2010 21224.00 5530.00 \\\n",
|
||
"1 0201011 2011 21134.00 5798.00 \n",
|
||
"2 0201011 2012 20992.00 6022.00 \n",
|
||
"3 0201011 2013 20866.00 6201.00 \n",
|
||
"4 0201011 2014 20824.00 6351.00 \n",
|
||
"... ... ... ... ... \n",
|
||
"48606 3263011 2018 21220.00 6971.00 \n",
|
||
"48607 3263011 2019 21205.00 7144.00 \n",
|
||
"48608 3263011 2020 20970.00 7213.00 \n",
|
||
"48609 3263011 2021 20738.00 7198.00 \n",
|
||
"48610 3263011 2022 20499.00 7256.00 \n",
|
||
"\n",
|
||
"Wiek Ludnosc_kobiety_w_wieku_produkcyjnym \n",
|
||
"0 12550.00 \\\n",
|
||
"1 12249.00 \n",
|
||
"2 11922.00 \n",
|
||
"3 11692.00 \n",
|
||
"4 11475.00 \n",
|
||
"... ... \n",
|
||
"48606 11347.00 \n",
|
||
"48607 11165.00 \n",
|
||
"48608 10927.00 \n",
|
||
"48609 10709.00 \n",
|
||
"48610 10477.00 \n",
|
||
"\n",
|
||
"Wiek Ludnosc_kobiety_w_wieku_produkcyjnym_mobilnym \n",
|
||
"0 7463.00 \\\n",
|
||
"1 7400.00 \n",
|
||
"2 7321.00 \n",
|
||
"3 7283.00 \n",
|
||
"4 7203.00 \n",
|
||
"... ... \n",
|
||
"48606 7136.00 \n",
|
||
"48607 7012.00 \n",
|
||
"48608 6812.00 \n",
|
||
"48609 6530.00 \n",
|
||
"48610 6317.00 \n",
|
||
"\n",
|
||
"Wiek Ludnosc_kobiety_w_wieku_produkcyjnym_niemobilnym \n",
|
||
"0 5087.00 \\\n",
|
||
"1 4849.00 \n",
|
||
"2 4601.00 \n",
|
||
"3 4409.00 \n",
|
||
"4 4272.00 \n",
|
||
"... ... \n",
|
||
"48606 4211.00 \n",
|
||
"48607 4153.00 \n",
|
||
"48608 4115.00 \n",
|
||
"48609 4179.00 \n",
|
||
"48610 4160.00 \n",
|
||
"\n",
|
||
"Wiek Ludnosc_kobiety_w_wieku_przedprodukcyjnym \n",
|
||
"0 3144.00 \n",
|
||
"1 3087.00 \n",
|
||
"2 3048.00 \n",
|
||
"3 2973.00 \n",
|
||
"4 2998.00 \n",
|
||
"... ... \n",
|
||
"48606 2902.00 \n",
|
||
"48607 2896.00 \n",
|
||
"48608 2830.00 \n",
|
||
"48609 2831.00 \n",
|
||
"48610 2766.00 \n",
|
||
"\n",
|
||
"[48611 rows x 8 columns]"
|
||
]
|
||
},
|
||
"execution_count": 134,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df_ludn_3 = pd.read_csv( # kobiety\n",
|
||
" 'LUDN_1342_CREL_3.csv',\n",
|
||
" sep=';',\n",
|
||
" converters={'Kod': str},\n",
|
||
" decimal=',')\n",
|
||
"df_ludn_3 = df_ludn_3[['Kod', 'Wiek', 'Rok', 'Wartosc']]\n",
|
||
"df_ludn_3 = df_ludn_3.dropna()\n",
|
||
"df_ludn_3 = df_ludn_3.pivot_table(index=['Kod', 'Rok'], columns='Wiek', values='Wartosc').reset_index()\n",
|
||
"df_ludn_3 = df_ludn_3.rename(columns={\n",
|
||
" 'ogółem': 'Ludnosc_kobiety',\n",
|
||
" 'w wieku poprodukcyjnym': 'Ludnosc_kobiety_w_wieku_poprodukcyjnym',\n",
|
||
" 'w wieku produkcyjnym': 'Ludnosc_kobiety_w_wieku_produkcyjnym',\n",
|
||
" 'w wieku produkcyjnym mobilnym': 'Ludnosc_kobiety_w_wieku_produkcyjnym_mobilnym',\n",
|
||
" 'w wieku produkcyjnym niemobilnym': 'Ludnosc_kobiety_w_wieku_produkcyjnym_niemobilnym',\n",
|
||
" 'w wieku przedprodukcyjnym': 'Ludnosc_kobiety_w_wieku_przedprodukcyjnym'})\n",
|
||
"\n",
|
||
"df_ludn_3"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"..."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 135,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"df_data = df_dofinansowanie_agg.copy()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 136,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"df_data = df_data.merge(df_podz, left_on=[df_data['Kod'].str.slice(stop=-1), 'Rok'], right_on=[df_podz['Kod'].str.slice(stop=-1), 'Rok'], how='left', suffixes=(None, '_podz'))\n",
|
||
"df_data = df_data.drop(['key_0', 'Kod_podz'], axis=1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 137,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"df_data = df_data.merge(df_wyna, left_on=[df_data['Kod'].str.slice(stop=-3), 'Rok'], right_on=[df_wyna['Kod'].str.slice(stop=-3), 'Rok'], how='left', suffixes=(None, '_wyna'))\n",
|
||
"df_data = df_data.drop(['key_0', 'Kod_wyna'], axis=1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 138,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"df_data = df_data.merge(df_fina_1, left_on=[df_data['Kod'].str.slice(stop=-1), 'Rok'], right_on=[df_fina_1['Kod'].str.slice(stop=-1), 'Rok'], how='left', suffixes=(None, '_fina_1'))\n",
|
||
"df_data = df_data.drop(['key_0', 'Kod_fina_1'], axis=1)\n",
|
||
"\n",
|
||
"df_data = df_data.merge(df_fina_2, left_on=[df_data['Kod'].str.slice(stop=-1), 'Rok'], right_on=[df_fina_2['Kod'].str.slice(stop=-1), 'Rok'], how='left', suffixes=(None, '_fina_2'))\n",
|
||
"df_data = df_data.drop(['key_0', 'Kod_fina_2'], axis=1)\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 139,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"df_data = df_data.merge(df_ludn_1, left_on=[df_data['Kod'].str.slice(stop=-1), 'Rok'], right_on=[df_ludn_1['Kod'].str.slice(stop=-1), 'Rok'], how='left', suffixes=(None, '_ludn_1'))\n",
|
||
"df_data = df_data.drop(['key_0', 'Kod_ludn_1'], axis=1)\n",
|
||
"\n",
|
||
"df_data = df_data.merge(df_ludn_2, left_on=[df_data['Kod'].str.slice(stop=-1), 'Rok'], right_on=[df_ludn_2['Kod'].str.slice(stop=-1), 'Rok'], how='left', suffixes=(None, '_ludn_2'))\n",
|
||
"df_data = df_data.drop(['key_0', 'Kod_ludn_2'], axis=1)\n",
|
||
"\n",
|
||
"df_data = df_data.merge(df_ludn_3, left_on=[df_data['Kod'].str.slice(stop=-1), 'Rok'], right_on=[df_ludn_3['Kod'].str.slice(stop=-1), 'Rok'], how='left', suffixes=(None, '_ludn_3'))\n",
|
||
"df_data = df_data.drop(['key_0', 'Kod_ludn_3'], axis=1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"..."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 140,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Index(['Kod', 'Rok', 'Suma', 'Powierzchnia', 'Wynagrodzenie_ogolem',\n",
|
||
" 'Wynagrodzenie_w_relacji_do_sredniej', 'Dochody_podatek_lesny',\n",
|
||
" 'Dochody_podatek_PCC', 'Dochody_podatek_od_dzialalnosci_gospodarczej',\n",
|
||
" 'Dochody_podatek_od_nieruchomosci', 'Dochody_podatek_od_spadkow',\n",
|
||
" 'Dochody_podatek_od_srodkow_transportowych', 'Dochody_podatek_rolny',\n",
|
||
" 'Dochody_podatek_odrebne_ustawy', 'Dochody_razem', 'Dochody_z_majatku',\n",
|
||
" 'Dochody_z_najmu_i_dzierzawy', 'Dochody_z_uslug',\n",
|
||
" 'Dochody_dofinansowanie_inwestycyjne', 'Dochody_dofinansowanie_razem',\n",
|
||
" 'Udzialy_w_podatkach_dochodowych_od_osob_fizycznych',\n",
|
||
" 'Udzialy_w_podatkach_dochodowych_od_osob_prywatnych',\n",
|
||
" 'Udzialy_w_podatkach_dochodowych_razem',\n",
|
||
" 'Wplywy_z_innych_lokalnych_oplat', 'Wplywy_z_oplaty_eksploatacyjnej',\n",
|
||
" 'Wplywy_z_oplaty_skarbowej', 'Wplywy_z_oplaty_targowej',\n",
|
||
" 'Ludnosc_ogolem', 'Ludnosc_w_wieku_poprodukcyjnym',\n",
|
||
" 'Ludnosc_w_wieku_produkcyjnym', 'Ludnosc_w_wieku_produkcyjnym_mobilnym',\n",
|
||
" 'Ludnosc_w_wieku_produkcyjnym_niemobilnym',\n",
|
||
" 'Ludnosc_w_wieku_przedprodukcyjnym', 'Ludnosc_mezczyzni',\n",
|
||
" 'Ludnosc_mezczyzni_w_wieku_poprodukcyjnym',\n",
|
||
" 'Ludnosc_mezczyzni_w_wieku_produkcyjnym',\n",
|
||
" 'Ludnosc_mezczyzni_w_wieku_produkcyjnym_mobilnym',\n",
|
||
" 'Ludnosc_mezczyzni_w_wieku_produkcyjnym_niemobilnym',\n",
|
||
" 'Ludnosc_mezczyzni_w_wieku_przedprodukcyjnym', 'Ludnosc_kobiety',\n",
|
||
" 'Ludnosc_kobiety_w_wieku_poprodukcyjnym',\n",
|
||
" 'Ludnosc_kobiety_w_wieku_produkcyjnym',\n",
|
||
" 'Ludnosc_kobiety_w_wieku_produkcyjnym_mobilnym',\n",
|
||
" 'Ludnosc_kobiety_w_wieku_produkcyjnym_niemobilnym',\n",
|
||
" 'Ludnosc_kobiety_w_wieku_przedprodukcyjnym'],\n",
|
||
" dtype='object')"
|
||
]
|
||
},
|
||
"execution_count": 140,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df_data.columns"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 141,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# df_data[df_data.isna().any(axis=1)] # ['Rok'].drop_duplicates().reset_index(drop=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"..."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 142,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Mean Squared Error: 314617008704682.4\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"from sklearn.model_selection import train_test_split\n",
|
||
"# from sklearn.preprocessing import StandardScaler\n",
|
||
"# from sklearn.preprocessing import MinMaxScaler\n",
|
||
"from sklearn.tree import DecisionTreeRegressor, plot_tree\n",
|
||
"from sklearn.metrics import mean_squared_error\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"\n",
|
||
"df_data.dropna(inplace=True)\n",
|
||
"\n",
|
||
"feature_names = [\n",
|
||
" 'Powierzchnia',\n",
|
||
" 'Wynagrodzenie_ogolem',\n",
|
||
" 'Wynagrodzenie_w_relacji_do_sredniej',\n",
|
||
" 'Dochody_podatek_lesny',\n",
|
||
" 'Dochody_podatek_PCC',\n",
|
||
" 'Dochody_podatek_od_dzialalnosci_gospodarczej',\n",
|
||
" 'Dochody_podatek_od_nieruchomosci',\n",
|
||
" 'Dochody_podatek_od_spadkow',\n",
|
||
" 'Dochody_podatek_od_srodkow_transportowych',\n",
|
||
" 'Dochody_podatek_rolny',\n",
|
||
" 'Dochody_podatek_odrebne_ustawy',\n",
|
||
" 'Dochody_razem',\n",
|
||
" 'Dochody_z_majatku',\n",
|
||
" 'Dochody_z_najmu_i_dzierzawy', \n",
|
||
" 'Dochody_z_uslug',\n",
|
||
" 'Dochody_dofinansowanie_inwestycyjne',\n",
|
||
" 'Dochody_dofinansowanie_razem',\n",
|
||
" 'Udzialy_w_podatkach_dochodowych_od_osob_fizycznych',\n",
|
||
" 'Udzialy_w_podatkach_dochodowych_od_osob_prywatnych',\n",
|
||
" 'Udzialy_w_podatkach_dochodowych_razem',\n",
|
||
" 'Wplywy_z_innych_lokalnych_oplat',\n",
|
||
" 'Wplywy_z_oplaty_eksploatacyjnej',\n",
|
||
" 'Wplywy_z_oplaty_skarbowej',\n",
|
||
" 'Wplywy_z_oplaty_targowej',\n",
|
||
" 'Ludnosc_ogolem',\n",
|
||
" 'Ludnosc_w_wieku_poprodukcyjnym',\n",
|
||
" 'Ludnosc_w_wieku_produkcyjnym',\n",
|
||
" 'Ludnosc_w_wieku_produkcyjnym_mobilnym',\n",
|
||
" 'Ludnosc_w_wieku_produkcyjnym_niemobilnym',\n",
|
||
" 'Ludnosc_w_wieku_przedprodukcyjnym',\n",
|
||
" 'Ludnosc_mezczyzni',\n",
|
||
" 'Ludnosc_mezczyzni_w_wieku_poprodukcyjnym',\n",
|
||
" 'Ludnosc_mezczyzni_w_wieku_produkcyjnym',\n",
|
||
" 'Ludnosc_mezczyzni_w_wieku_produkcyjnym_mobilnym',\n",
|
||
" 'Ludnosc_mezczyzni_w_wieku_produkcyjnym_niemobilnym',\n",
|
||
" 'Ludnosc_mezczyzni_w_wieku_przedprodukcyjnym',\n",
|
||
" 'Ludnosc_kobiety',\n",
|
||
" 'Ludnosc_kobiety_w_wieku_poprodukcyjnym',\n",
|
||
" 'Ludnosc_kobiety_w_wieku_produkcyjnym',\n",
|
||
" 'Ludnosc_kobiety_w_wieku_produkcyjnym_mobilnym',\n",
|
||
" 'Ludnosc_kobiety_w_wieku_produkcyjnym_niemobilnym',\n",
|
||
" 'Ludnosc_kobiety_w_wieku_przedprodukcyjnym']\n",
|
||
"\n",
|
||
"X = df_data[feature_names]\n",
|
||
"y = df_data['Suma']\n",
|
||
"\n",
|
||
"# scaler = StandardScaler()\n",
|
||
"# scaler = MinMaxScaler()\n",
|
||
"# X = scaler.fit_transform(X)\n",
|
||
"\n",
|
||
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1)\n",
|
||
"\n",
|
||
"model = DecisionTreeRegressor(random_state=1)\n",
|
||
"model.fit(X_train, y_train)\n",
|
||
"\n",
|
||
"y_pred = model.predict(X_test)\n",
|
||
"mse = mean_squared_error(y_test, y_pred)\n",
|
||
"print(\"Mean Squared Error:\", mse)\n",
|
||
"\n",
|
||
"# Dodatkowe dane:\n",
|
||
"# Wojewodztwo\n",
|
||
"# ..."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 143,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# plt.figure(figsize=(15, 10))\n",
|
||
"# plot_tree(model, feature_names=feature_names, filled=True, rounded=True)\n",
|
||
"# plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 144,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHHCAYAAACRAnNyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABYyElEQVR4nO3deXwTdf4/8NfM5GyTtpS2HKW0cosgHhUFBFRUFJb1WnUVFXDV1cVjdXUX1q/iBYjr9VsP8AJxZQEP0F3xwEURRRQQEBARyg2FtlCaqzlnPr8/2kZ6QZOmyaR9PR+PPh5kMknemZb2lZnP5/2RhBACRERERDokJ7oAIiIiosYwqBAREZFuMagQERGRbjGoEBERkW4xqBAREZFuMagQERGRbjGoEBERkW4xqBAREZFuMagQERGRbjGoENEJSZKERx55JNFlJNx5552H8847L3x79+7dkCQJb775ZsJqqqtujUTJjkGFKM5efvllSJKEs88+O+rnKC4uxiOPPIINGzbErjCdW758OSRJCn8ZjUZ069YNN910E3bu3Jno8iLy7bff4pFHHkFFRUWiSyHSPUOiCyBqa+bNm4eCggKsXr0aRUVF6NGjR8TPUVxcjEcffRQFBQU47bTTYl+kjt19990466yzEAwGsW7dOrz66qtYsmQJNm3ahM6dO8e1lvz8fHi9XhiNxoge9+233+LRRx/F+PHjkZGR0TLFEbUSPKNCFEe7du3Ct99+i2effRbZ2dmYN29eoktKOkOHDsUNN9yACRMm4IUXXsDTTz+N8vJyzJ07t9HHeDyeFqlFkiRYLBYoitIiz09EDCpEcTVv3jy0a9cOo0ePxu9+97tGg0pFRQXuvfdeFBQUwGw2o0uXLrjppptw+PBhLF++HGeddRYAYMKECeFLITXjJAoKCjB+/Ph6z1l37EIgEMDDDz+MM888E+np6UhNTcXQoUPx5ZdfRvy+SkpKYDAY8Oijj9a775dffoEkSXjxxRcBAMFgEI8++ih69uwJi8WC9u3b49xzz8Xnn38e8esCwAUXXACgKgQCwCOPPAJJkrBlyxZcf/31aNeuHc4999zw/m+//TbOPPNMWK1WZGZm4ve//z327dtX73lfffVVdO/eHVarFQMHDsTXX39db5/Gxqhs3boV11xzDbKzs2G1WtG7d288+OCD4foeeOABAMBJJ50U/v7t3r27RWokSna89EMUR/PmzcOVV14Jk8mE6667DjNnzsSaNWvCwQMA3G43hg4dip9//hk333wzzjjjDBw+fBj/+c9/sH//fpx88sl47LHH8PDDD+O2227D0KFDAQCDBw+OqBan04nXX38d1113HW699Va4XC688cYbGDlyJFavXh3RJaUOHTpg+PDheOeddzBlypRa9y1cuBCKouDqq68GUPWHevr06bjlllswcOBAOJ1OrF27FuvWrcNFF10U0XsAgB07dgAA2rdvX2v71VdfjZ49e2LatGkQQgAApk6dioceegjXXHMNbrnlFpSVleGFF17AsGHDsH79+vBlmDfeeAN//OMfMXjwYPz5z3/Gzp078dvf/haZmZnIy8s7bj0bN27E0KFDYTQacdttt6GgoAA7duzAf//7X0ydOhVXXnkltm3bhvnz5+O5555DVlYWACA7OztuNRIlFUFEcbF27VoBQHz++edCCCE0TRNdunQR99xzT639Hn74YQFALFq0qN5zaJomhBBizZo1AoCYM2dOvX3y8/PFuHHj6m0fPny4GD58ePh2KBQSfr+/1j5Hjx4VHTp0EDfffHOt7QDElClTjvv+XnnlFQFAbNq0qdb2vn37igsuuCB8e8CAAWL06NHHfa6GfPnllwKAmD17tigrKxPFxcViyZIloqCgQEiSJNasWSOEEGLKlCkCgLjuuutqPX737t1CURQxderUWts3bdokDAZDeHsgEBA5OTnitNNOq3V8Xn31VQGg1jHctWtXve/DsGHDhN1uF3v27Kn1OjXfOyGE+Mc//iEAiF27drV4jUTJjpd+iOJk3rx56NChA84//3wAVeMbrr32WixYsACqqob3e//99zFgwABcccUV9Z5DkqSY1aMoCkwmEwBA0zSUl5cjFAqhsLAQ69ati/j5rrzyShgMBixcuDC8bfPmzdiyZQuuvfba8LaMjAz89NNP2L59e1R133zzzcjOzkbnzp0xevRoeDwezJ07F4WFhbX2u/3222vdXrRoETRNwzXXXIPDhw+Hvzp27IiePXuGL3mtXbsWpaWluP3228PHBwDGjx+P9PT049ZWVlaGFStW4Oabb0bXrl1r3deU7108aiRKNq0mqKxYsQJjxoxB586dIUkSPvjgg4if47PPPsM555wDu92O7OxsXHXVVbWuGxNFS1VVLFiwAOeffz527dqFoqIiFBUV4eyzz0ZJSQmWLVsW3nfHjh3o169fXOqaO3cuTj311PBYkezsbCxZsgQOhyPi58rKysKIESPwzjvvhLctXLgQBoMBV155ZXjbY489hoqKCvTq1Qv9+/fHAw88gI0bNzb5dR5++GF8/vnn+OKLL7Bx40YUFxfjxhtvrLffSSedVOv29u3bIYRAz549kZ2dXevr559/RmlpKQBgz549AICePXvWenzNdOjjqZkmHe33Lx41EiWbVjNGxePxYMCAAbj55ptr/VJsql27duGyyy7Dfffdh3nz5sHhcODee+/FlVdeGdWnS6JjffHFFzh48CAWLFiABQsW1Lt/3rx5uPjii2PyWo19cldVtdbslLfffhvjx4/H5ZdfjgceeAA5OTlQFAXTp08Pj/uI1O9//3tMmDABGzZswGmnnYZ33nkHI0aMCI/DAIBhw4Zhx44d+PDDD7F06VK8/vrreO655zBr1izccsstJ3yN/v3748ILLzzhflartdZtTdMgSRI++eSTBmfp2Gy2JrzDlpUMNRLFW6sJKpdeeikuvfTSRu/3+/148MEHMX/+fFRUVKBfv36YMWNGeBbEDz/8AFVV8cQTT0CWq0403X///bjssssQDAYj7pNAdKx58+YhJycHL730Ur37Fi1ahMWLF2PWrFmwWq3o3r07Nm/efNznO95lhHbt2jXYSGzPnj21Pm2/99576NatGxYtWlTr+eoOho3E5Zdfjj/+8Y/hyz/btm3D5MmT6+2XmZmJCRMmYMKECXC73Rg2bBgeeeSRJgWVaHXv3h1CCJx00kno1atXo/vl5+cDqDq7UTOjCKiarbRr1y4MGDCg0cfWHN9ov3/xqJEo2bSaSz8ncuedd2LVqlVYsGABNm7ciKuvvhqXXHJJ+Dr5mWeeCVmWMWfOHKiqCofDgX/961+48MILGVKoWbxeLxYtWoTf/OY3+N3vflfv684774TL5cJ//vMfAMBVV12FH3/8EYsXL673XKJ69kpqaioANBhIunfvju+++w6BQCC87aOPPqo3vbXmE3vNcwLA999/j1WrVkX9XjMyMjBy5Ei88847WLBgAUwmEy6//PJa+xw5cqTWbZvNhh49esDv90f9uk1x5ZVXQlEUPProo7XeM1B1DGrqKiwsRHZ2NmbNmlXrGL755psn7CSbnZ2NYcOGYfbs2di7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",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"plt.scatter(y_test, y_pred, alpha=0.5)\n",
|
||
"plt.xlabel('Actual')\n",
|
||
"plt.ylabel('Predicted')\n",
|
||
"plt.title('Actual vs Predicted')\n",
|
||
"plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 145,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"0.39331 — Dochody_z_majatku\n",
|
||
"0.09103 — Ludnosc_mezczyzni_w_wieku_produkcyjnym_mobilnym\n",
|
||
"0.06877 — Udzialy_w_podatkach_dochodowych_od_osob_prywatnych\n",
|
||
"0.06441 — Wplywy_z_oplaty_skarbowej\n",
|
||
"0.05557 — Wynagrodzenie_w_relacji_do_sredniej\n",
|
||
"0.04363 — Wynagrodzenie_ogolem\n",
|
||
"0.03375 — Dochody_podatek_od_nieruchomosci\n",
|
||
"0.02552 — Dochody_z_uslug\n",
|
||
"0.02151 — Wplywy_z_oplaty_targowej\n",
|
||
"0.02078 — Udzialy_w_podatkach_dochodowych_od_osob_fizycznych\n",
|
||
"0.01974 — Ludnosc_kobiety_w_wieku_produkcyjnym_niemobilnym\n",
|
||
"0.01962 — Wplywy_z_oplaty_eksploatacyjnej\n",
|
||
"0.01867 — Dochody_z_najmu_i_dzierzawy\n",
|
||
"0.01638 — Dochody_dofinansowanie_inwestycyjne\n",
|
||
"0.01573 — Dochody_podatek_rolny\n",
|
||
"0.01439 — Ludnosc_mezczyzni_w_wieku_przedprodukcyjnym\n",
|
||
"0.01180 — Dochody_podatek_od_srodkow_transportowych\n",
|
||
"0.00875 — Dochody_podatek_od_dzialalnosci_gospodarczej\n",
|
||
"0.00809 — Dochody_podatek_PCC\n",
|
||
"0.00663 — Dochody_podatek_odrebne_ustawy\n",
|
||
"0.00634 — Dochody_podatek_lesny\n",
|
||
"0.00547 — Dochody_dofinansowanie_razem\n",
|
||
"0.00444 — Wplywy_z_innych_lokalnych_oplat\n",
|
||
"0.00427 — Dochody_razem\n",
|
||
"0.00398 — Ludnosc_mezczyzni_w_wieku_poprodukcyjnym\n",
|
||
"0.00367 — Powierzchnia\n",
|
||
"0.00329 — Dochody_podatek_od_spadkow\n",
|
||
"0.00248 — Udzialy_w_podatkach_dochodowych_razem\n",
|
||
"0.00160 — Ludnosc_kobiety_w_wieku_przedprodukcyjnym\n",
|
||
"0.00137 — Ludnosc_kobiety\n",
|
||
"0.00128 — Ludnosc_mezczyzni_w_wieku_produkcyjnym\n",
|
||
"0.00115 — Ludnosc_mezczyzni_w_wieku_produkcyjnym_niemobilnym\n",
|
||
"0.00095 — Ludnosc_w_wieku_przedprodukcyjnym\n",
|
||
"0.00072 — Ludnosc_mezczyzni\n",
|
||
"0.00030 — Ludnosc_w_wieku_poprodukcyjnym\n",
|
||
"0.00013 — Ludnosc_kobiety_w_wieku_produkcyjnym_mobilnym\n",
|
||
"0.00012 — Ludnosc_kobiety_w_wieku_produkcyjnym\n",
|
||
"0.00012 — Ludnosc_kobiety_w_wieku_poprodukcyjnym\n",
|
||
"0.00009 — Ludnosc_ogolem\n",
|
||
"0.00008 — Ludnosc_w_wieku_produkcyjnym\n",
|
||
"0.00005 — Ludnosc_w_wieku_produkcyjnym_niemobilnym\n",
|
||
"0.00001 — Ludnosc_w_wieku_produkcyjnym_mobilnym\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"feature_importance = dict(zip(feature_names, model.feature_importances_))\n",
|
||
"for feature, importance in sorted(feature_importance.items(), key=lambda x: x[1], reverse=True):\n",
|
||
" print(f\"{importance:.5f} \\u2014 {feature}\")"
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.11.3"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 2
|
||
}
|