mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-07-04 21:23:07 +02:00
2021 lines
114 KiB
Plaintext
2021 lines
114 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"..."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 99,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import pandas as pd"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 100,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"pd.options.display.float_format = '{:.2f}'.format"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"..."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 101,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\micha\\AppData\\Local\\Temp\\ipykernel_28456\\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": 102,
|
||
"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": 103,
|
||
"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": 104,
|
||
"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": 105,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\micha\\AppData\\Local\\Temp\\ipykernel_28456\\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": 105,
|
||
"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": 106,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\micha\\AppData\\Local\\Temp\\ipykernel_28456\\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": 106,
|
||
"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": 107,
|
||
"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": 107,
|
||
"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": 108,
|
||
"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": 108,
|
||
"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": 109,
|
||
"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": 109,
|
||
"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": 110,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"df_data = df_dofinansowanie_agg.copy()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 111,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"wojewodztwo_dictionary = {\n",
|
||
"'02': 'Dolnoslaskie',\n",
|
||
"'04': 'Kujawsko_Pomorskie',\n",
|
||
"'06': 'Lubelskie',\n",
|
||
"'08': 'Lubuskie',\n",
|
||
"'10': 'Lodzkie',\n",
|
||
"'12': 'Malopolskie',\n",
|
||
"'14': 'Mazowieckie',\n",
|
||
"'16': 'Opolskie',\n",
|
||
"'18': 'Podkarpackie',\n",
|
||
"'20': 'Podlaskie',\n",
|
||
"'22': 'Pomorskie',\n",
|
||
"'24': 'Slaskie',\n",
|
||
"'26': 'Swietokrzyskie',\n",
|
||
"'28': 'Warminsko_Mazurskie',\n",
|
||
"'30': 'Wielkopolskie',\n",
|
||
"'32': 'Zachodniopomorskie'}\n",
|
||
"\n",
|
||
"df_data = pd.concat([df_data, pd.get_dummies(df_data['Kod'].apply(lambda x: wojewodztwo_dictionary.get(x[:2], None)), prefix='Wojewodztwo').astype(int)], axis=1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 112,
|
||
"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": 113,
|
||
"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": 114,
|
||
"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": 115,
|
||
"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": 116,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Index(['Kod', 'Rok', 'Suma', 'Wojewodztwo_Dolnoslaskie',\n",
|
||
" 'Wojewodztwo_Kujawsko_Pomorskie', 'Wojewodztwo_Lodzkie',\n",
|
||
" 'Wojewodztwo_Lubelskie', 'Wojewodztwo_Lubuskie',\n",
|
||
" 'Wojewodztwo_Malopolskie', 'Wojewodztwo_Mazowieckie',\n",
|
||
" 'Wojewodztwo_Opolskie', 'Wojewodztwo_Podkarpackie',\n",
|
||
" 'Wojewodztwo_Podlaskie', 'Wojewodztwo_Pomorskie', 'Wojewodztwo_Slaskie',\n",
|
||
" 'Wojewodztwo_Swietokrzyskie', 'Wojewodztwo_Warminsko_Mazurskie',\n",
|
||
" 'Wojewodztwo_Wielkopolskie', 'Wojewodztwo_Zachodniopomorskie',\n",
|
||
" '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": 116,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df_data.columns"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 117,
|
||
"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": 118,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Mean Squared Error: 294627671837056.8\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"from sklearn.model_selection import train_test_split\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', # 1\n",
|
||
" 'Wynagrodzenie_ogolem', # 2\n",
|
||
" 'Wynagrodzenie_w_relacji_do_sredniej', # 3\n",
|
||
" 'Dochody_podatek_lesny', # 4\n",
|
||
" 'Dochody_podatek_PCC', # 5\n",
|
||
" 'Dochody_podatek_od_dzialalnosci_gospodarczej', # 6\n",
|
||
" 'Dochody_podatek_od_nieruchomosci', # 7\n",
|
||
" 'Dochody_podatek_od_spadkow', # 8\n",
|
||
" 'Dochody_podatek_od_srodkow_transportowych', # 9\n",
|
||
" 'Dochody_podatek_rolny', # 10\n",
|
||
" 'Dochody_podatek_odrebne_ustawy', # 11\n",
|
||
" 'Dochody_razem', # 12\n",
|
||
" 'Dochody_z_majatku', # 13\n",
|
||
" 'Dochody_z_najmu_i_dzierzawy', # 14\n",
|
||
" 'Dochody_z_uslug', # 15\n",
|
||
" 'Dochody_dofinansowanie_inwestycyjne', # 16\n",
|
||
" 'Dochody_dofinansowanie_razem', # 17\n",
|
||
" 'Udzialy_w_podatkach_dochodowych_od_osob_fizycznych', # 18\n",
|
||
" 'Udzialy_w_podatkach_dochodowych_od_osob_prywatnych', # 19\n",
|
||
" 'Udzialy_w_podatkach_dochodowych_razem', # 20\n",
|
||
" 'Wplywy_z_innych_lokalnych_oplat', # 21\n",
|
||
" 'Wplywy_z_oplaty_eksploatacyjnej', # 22\n",
|
||
" 'Wplywy_z_oplaty_skarbowej', # 23\n",
|
||
" 'Wplywy_z_oplaty_targowej', # 24\n",
|
||
" 'Ludnosc_ogolem', # 25\n",
|
||
" 'Ludnosc_w_wieku_poprodukcyjnym', # 26\n",
|
||
" 'Ludnosc_w_wieku_produkcyjnym', # 27\n",
|
||
" 'Ludnosc_w_wieku_produkcyjnym_mobilnym', # 28\n",
|
||
" 'Ludnosc_w_wieku_produkcyjnym_niemobilnym', # 29\n",
|
||
" 'Ludnosc_w_wieku_przedprodukcyjnym', # 30\n",
|
||
" 'Ludnosc_mezczyzni', # 31\n",
|
||
" 'Ludnosc_mezczyzni_w_wieku_poprodukcyjnym', # 32\n",
|
||
" 'Ludnosc_mezczyzni_w_wieku_produkcyjnym', # 33\n",
|
||
" 'Ludnosc_mezczyzni_w_wieku_produkcyjnym_mobilnym', # 34\n",
|
||
" 'Ludnosc_mezczyzni_w_wieku_produkcyjnym_niemobilnym', # 35\n",
|
||
" 'Ludnosc_mezczyzni_w_wieku_przedprodukcyjnym', # 36\n",
|
||
" 'Ludnosc_kobiety', # 37\n",
|
||
" 'Ludnosc_kobiety_w_wieku_poprodukcyjnym', # 38\n",
|
||
" 'Ludnosc_kobiety_w_wieku_produkcyjnym', # 39\n",
|
||
" 'Ludnosc_kobiety_w_wieku_produkcyjnym_mobilnym', # 40\n",
|
||
" 'Ludnosc_kobiety_w_wieku_produkcyjnym_niemobilnym', # 41\n",
|
||
" 'Ludnosc_kobiety_w_wieku_przedprodukcyjnym', # 42\n",
|
||
" 'Wojewodztwo_Dolnoslaskie', # 43\n",
|
||
" 'Wojewodztwo_Kujawsko_Pomorskie', # 44\n",
|
||
" 'Wojewodztwo_Lubelskie', # 45\n",
|
||
" 'Wojewodztwo_Lubuskie', # 46\n",
|
||
" 'Wojewodztwo_Lodzkie', # 47\n",
|
||
" 'Wojewodztwo_Malopolskie', # 48\n",
|
||
" 'Wojewodztwo_Mazowieckie', # 49\n",
|
||
" 'Wojewodztwo_Opolskie', # 50\n",
|
||
" 'Wojewodztwo_Podkarpackie', # 51\n",
|
||
" 'Wojewodztwo_Podlaskie', # 52\n",
|
||
" 'Wojewodztwo_Pomorskie', # 53\n",
|
||
" 'Wojewodztwo_Slaskie', # 54\n",
|
||
" 'Wojewodztwo_Swietokrzyskie', # 55\n",
|
||
" 'Wojewodztwo_Warminsko_Mazurskie', # 56\n",
|
||
" 'Wojewodztwo_Wielkopolskie', # 57\n",
|
||
" 'Wojewodztwo_Zachodniopomorskie'] # 58\n",
|
||
"\n",
|
||
"X = df_data[feature_names]\n",
|
||
"y = df_data['Suma']\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)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 119,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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f79Y1EjU4sRpEG9UARArV64MfH/06FGhVqvFiRMnau03atQoMX369MD369atE5mZmUKtVgsAYsiQIeLMmTMxqppaq6VLlwoA4uOPP27wdp/PJzIyMsT48eOFEELY7XbRu3dvoVarxZ133inmz58vZs+eLS688EKxfft2IUTVrI/U1FTRs2dP8dZbb4klS5aIQ4cOCSGE+PLLLwUAcckll4h58+aJhx56SLRv31507dq11myQBQsWCADi97//vXj99dfFtGnTRGpqqujTp4/Iy8urVSOCmPXj99577wkAwmw2B15TTZmZmeLGG28Uc+fOFW+++ab4y1/+IiRJEvfee2+Tj+uf9fPBBx80uZ9/1k9xcXG92+bMmSMAiKFDh4pnnnlGzJs3T/z9738X3bt3F88++2xgP/8MpmHDhol//etf4oEHHhCpqamiS5cuZ531s337dmEymUTbtm3F9OnTxRtvvCH++c9/igEDBgT22bRpkwAgxo4dK959912xZMkSUV5eHpUaiVq6hAgqn332mQAgkpOTa31pNBpx4403CiGEOHnypOjevbt4+OGHxdatW8W3334rRo4cKUaNGlVrWiFRqMaPHy8MBoNwOByN7jNp0iSh1WpFSUmJEEKI06dPi3vuuUfk5OQInU4nOnToICZOnBi4XQghPvnkE9G7d2+h0WjqvVk+//zzIicnR+j1ejFs2DCxZcuWetOTZVkWs2fPFnl5eUKv14tzzjlHfPbZZ2LixInNCio2m00YjUYBQLz33nv1bn/qqafE4MGDRWpqqjAajaJXr15i1qxZwu12N/m4kQgqQgjx0UcfiYsuuijwd6BXr15i6tSpYt++fbX2e+2110Tnzp2FXq8XgwYNEuvXr693DBsKKkIIsWvXLnHttdeK1NRUYTAYRM+ePcWjjz5aa58nn3xS5OTkCJVKVW+qciRrJGrpJCHqnF9sBSRJwsqVKwOnnJctW4YJEyZg9+7d9QaomUwmtG/fHo8++ii+/PJLbN68OXDbr7/+itzcXGzcuBEXXnhhLF8CERERoRUNpm3KOeecA5/Ph6KiokAXz7oqKioCg2j9/KFGluWo10hERET1tZrBtOXl5di+fXtg2fvDhw9j+/btOHbsGHr06IEJEybg9ttvx4oVK3D48GFs2rQJc+bMwapVqwAA48aNw+bNm/HEE0/gwIED2Lp1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OGl1olumCTmpxjhVSERENTGoUEJRqSSM6dsOack6HCgqh93pgVeWYXd6cKCoHGnJOozu0479VIiIFIJBhRJOt0wzJg/rhL7ZFpRVeHCkxIGyCg/65Vg4NZmISGF4IZ4SUrdMM7pcbGJnWiIihWNQoYSlUknITUuKdxlERNQEXvohIiIixWJQISIiIsViUCEiIiLFYlAhIiIixWJQISIiIsViUCEiIiLFYlAhIiIixWJQISIiIsViUCEiIiLFYlAhIiIixWJQISIiIsViUCEiIiLFYlAhIiIixWJQISIiIsViUCEiIiLFYlAhIiIixWJQISIiIsViUCEiIiLFYlAhIiIixWJQISIiIsViUCEiIiLFYlAhIiIixWJQISIiIsViUCEiIiLFYlAhIiIixWJQISIiIsXSBLujzWYL+kFTUlLCKoaIiIiopqCDSmpqKiRJCmpfn88XdkFEREREfkEHlbVr1wb+/8iRI5g2bRomTZqEIUOGAAA2btyIRYsWYc6cOZGvkoiIiBKSJIQQod5p1KhRuOOOO3DzzTfX2v7+++/jjTfewLp16yJVX5NsNhssFgusVisvNxEREbUQobx/hzWYduPGjRg0aFC97YMGDcKmTZvCeUgiIiKiesIKKrm5uXjzzTfrbX/rrbeQm5vb7KKIiIiIgBDGqNT04osv4g9/+AO++OILXHDBBQCATZs24cCBA/joo48iWiARERElrrDOqIwdOxb79+/H+PHjUVpaitLSUowfPx779+/H2LFjI10jERERJaiwBtMqBQfTEhERtTxRH0wLAP/9739x6623YujQoThx4gQA4N///je+++67cB+SiIiIqJawgspHH32EMWPGwGg0YuvWrXC5XAAAq9WK2bNnR7RAIiIiSlxhBZWnnnoK8+fPx5tvvgmtVhvYPmzYMGzdujVixREREVFiCyuo7Nu3DyNGjKi33WKxoKysrLk1EREREQEIM6i0b98e+fn59bZ/99136NKlS7OLIiIiIgLCDCp33nkn7r//fvz444+QJAkFBQVYvHgxHnroIdx9992RrpGIiIgSVFgN36ZNmwZZljFq1ChUVFRgxIgR0Ov1eOihh3DvvfdGukYiIiJKUM3qo+J2u5Gfn4/y8nL07t0bJpMpkrWdFfuoEBERtTxR76MyZcoU2O126HQ69O7dG4MHD4bJZILD4cCUKVPC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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": 120,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"0.39277 — Dochody_z_majatku\n",
|
||
"0.09099 — Ludnosc_mezczyzni_w_wieku_produkcyjnym_mobilnym\n",
|
||
"0.06227 — Wynagrodzenie_w_relacji_do_sredniej\n",
|
||
"0.05967 — Ludnosc_w_wieku_produkcyjnym_niemobilnym\n",
|
||
"0.04757 — Wynagrodzenie_ogolem\n",
|
||
"0.02963 — Dochody_podatek_od_nieruchomosci\n",
|
||
"0.02897 — Dochody_podatek_rolny\n",
|
||
"0.02743 — Udzialy_w_podatkach_dochodowych_razem\n",
|
||
"0.02328 — Dochody_z_uslug\n",
|
||
"0.02201 — Wplywy_z_oplaty_skarbowej\n",
|
||
"0.02172 — Wplywy_z_oplaty_targowej\n",
|
||
"0.02024 — Dochody_z_najmu_i_dzierzawy\n",
|
||
"0.02010 — Udzialy_w_podatkach_dochodowych_od_osob_fizycznych\n",
|
||
"0.01977 — Wplywy_z_oplaty_eksploatacyjnej\n",
|
||
"0.01961 — Ludnosc_kobiety_w_wieku_produkcyjnym_niemobilnym\n",
|
||
"0.01413 — Ludnosc_mezczyzni_w_wieku_przedprodukcyjnym\n",
|
||
"0.01349 — Dochody_podatek_od_dzialalnosci_gospodarczej\n",
|
||
"0.01158 — Wojewodztwo_Lubelskie\n",
|
||
"0.00762 — Dochody_podatek_od_srodkow_transportowych\n",
|
||
"0.00673 — Dochody_dofinansowanie_inwestycyjne\n",
|
||
"0.00610 — Wplywy_z_innych_lokalnych_oplat\n",
|
||
"0.00588 — Dochody_podatek_lesny\n",
|
||
"0.00567 — Dochody_podatek_PCC\n",
|
||
"0.00555 — Udzialy_w_podatkach_dochodowych_od_osob_prywatnych\n",
|
||
"0.00449 — Dochody_podatek_od_spadkow\n",
|
||
"0.00406 — Dochody_razem\n",
|
||
"0.00401 — Dochody_dofinansowanie_razem\n",
|
||
"0.00381 — Ludnosc_mezczyzni_w_wieku_poprodukcyjnym\n",
|
||
"0.00297 — Powierzchnia\n",
|
||
"0.00270 — Wojewodztwo_Dolnoslaskie\n",
|
||
"0.00267 — Dochody_podatek_odrebne_ustawy\n",
|
||
"0.00177 — Wojewodztwo_Swietokrzyskie\n",
|
||
"0.00123 — Ludnosc_kobiety_w_wieku_przedprodukcyjnym\n",
|
||
"0.00115 — Ludnosc_mezczyzni_w_wieku_produkcyjnym_niemobilnym\n",
|
||
"0.00101 — Ludnosc_mezczyzni_w_wieku_produkcyjnym\n",
|
||
"0.00096 — Wojewodztwo_Podkarpackie\n",
|
||
"0.00092 — Wojewodztwo_Wielkopolskie\n",
|
||
"0.00091 — Ludnosc_w_wieku_przedprodukcyjnym\n",
|
||
"0.00089 — Wojewodztwo_Slaskie\n",
|
||
"0.00075 — Wojewodztwo_Opolskie\n",
|
||
"0.00072 — Wojewodztwo_Warminsko_Mazurskie\n",
|
||
"0.00061 — Wojewodztwo_Podlaskie\n",
|
||
"0.00051 — Wojewodztwo_Malopolskie\n",
|
||
"0.00030 — Ludnosc_w_wieku_produkcyjnym_mobilnym\n",
|
||
"0.00017 — Ludnosc_kobiety_w_wieku_produkcyjnym\n",
|
||
"0.00017 — Ludnosc_kobiety_w_wieku_poprodukcyjnym\n",
|
||
"0.00009 — Ludnosc_kobiety\n",
|
||
"0.00005 — Ludnosc_ogolem\n",
|
||
"0.00005 — Wojewodztwo_Lubuskie\n",
|
||
"0.00004 — Ludnosc_mezczyzni\n",
|
||
"0.00004 — Ludnosc_kobiety_w_wieku_produkcyjnym_mobilnym\n",
|
||
"0.00004 — Wojewodztwo_Kujawsko_Pomorskie\n",
|
||
"0.00004 — Wojewodztwo_Lodzkie\n",
|
||
"0.00003 — Ludnosc_w_wieku_poprodukcyjnym\n",
|
||
"0.00002 — Ludnosc_w_wieku_produkcyjnym\n",
|
||
"0.00002 — Wojewodztwo_Zachodniopomorskie\n",
|
||
"0.00001 — Wojewodztwo_Pomorskie\n",
|
||
"0.00001 — Wojewodztwo_Mazowieckie\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
|
||
}
|