CSP et régions en 1968 et 2014¶
In [1]:
import pandas
import numpy
import matplotlib.pyplot as plt
import seaborn
seaborn.set(font_scale = 2)
seaborn.set_style("white")
from prince import CA
In [2]:
regions1968 = pandas.read_csv("https://fxjollois.github.io/donnees/regions-csp/regions-csp-1968.csv",
index_col = "Région")
regions1968.head()
Out[2]:
Agriculteurs Actifs ayant un emploi RP1968 | Agriculteurs Chômeurs RP1968 | Artisans, commerçants, chefs d'entreprise Actifs ayant un emploi RP1968 | Artisans, commerçants, chefs d'entreprise Chômeurs RP1968 | Cadres et professions intellectuelles supérieures Actifs ayant un emploi RP1968 | Cadres et professions intellectuelles supérieures Chômeurs RP1968 | Professions intermédiaires Actifs ayant un emploi RP1968 | Professions intermédiaires Chômeurs RP1968 | Employés Actifs ayant un emploi RP1968 | Employés Chômeurs RP1968 | Ouvriers Actifs ayant un emploi RP1968 | Ouvriers Chômeurs RP1968 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Région | ||||||||||||
ÃŽle-de-France | 13652 | 0 | 221520 | 12 | 305912 | 4212 | 521652 | 7328 | 791704 | 20832 | 879892 | 34556 |
Centre-Val de Loire | 73128 | 0 | 53572 | 0 | 21604 | 144 | 59452 | 616 | 85424 | 1904 | 183304 | 3748 |
Bourgogne-Franche-Comté | 85284 | 0 | 61824 | 0 | 26604 | 84 | 76732 | 432 | 103348 | 1412 | 231496 | 3076 |
Normandie | 113008 | 0 | 69388 | 0 | 30088 | 144 | 86712 | 556 | 113204 | 2148 | 256920 | 5376 |
Hauts-de-France | 86004 | 0 | 119944 | 0 | 53872 | 312 | 160128 | 1052 | 197596 | 3532 | 541364 | 13664 |
In [3]:
regions2014 = pandas.read_csv("https://fxjollois.github.io/donnees/regions-csp/regions-csp-2014.csv",
index_col = "Région")
regions2014.head()
Out[3]:
Agriculteurs Actifs ayant un emploi RP2014 | Agriculteurs Chômeurs RP2014 | Artisans, commerçants, chefs d'entreprise Actifs ayant un emploi RP2014 | Artisans, commerçants, chefs d'entreprise Chômeurs RP2014 | Cadres et professions intellectuelles supérieures Actifs ayant un emploi RP2014 | Cadres et professions intellectuelles supérieures Chômeurs RP2014 | Professions intermédiaires Actifs ayant un emploi RP2014 | Professions intermédiaires Chômeurs RP2014 | Employés Actifs ayant un emploi RP2014 | Employés Chômeurs RP2014 | Ouvriers Actifs ayant un emploi RP2014 | Ouvriers Chômeurs RP2014 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Région | ||||||||||||
ÃŽle-de-France | 3373.297125 | 195.053895 | 203747.801541 | 17112.882402 | 1.287917e+06 | 61943.340704 | 1.095707e+06 | 120136.339854 | 1.017211e+06 | 171489.384828 | 521635.119285 | 112144.255513 |
Centre-Val de Loire | 13731.136316 | 164.913387 | 47577.256270 | 3168.849596 | 1.087993e+05 | 4139.710087 | 2.100894e+05 | 16730.919522 | 2.187664e+05 | 32895.248697 | 184516.579228 | 36237.921528 |
Bourgogne-Franche-Comté | 20314.763142 | 177.683361 | 53729.925925 | 3471.206196 | 1.053460e+05 | 3894.747983 | 2.218569e+05 | 17036.689778 | 2.271630e+05 | 34036.105976 | 219598.002062 | 42277.992665 |
Normandie | 19265.892020 | 162.360831 | 61807.703240 | 4309.923695 | 1.257314e+05 | 4575.836184 | 2.655183e+05 | 21068.120831 | 2.796448e+05 | 47312.820231 | 250432.208276 | 50014.556203 |
Hauts-de-France | 17767.070961 | 184.594238 | 87398.160828 | 8462.259655 | 2.480851e+05 | 9086.003241 | 4.721263e+05 | 42533.984972 | 4.992887e+05 | 98340.151953 | 436388.567456 | 118181.606481 |
Description¶
In [4]:
regions1968.describe()
Out[4]:
Agriculteurs Actifs ayant un emploi RP1968 | Agriculteurs Chômeurs RP1968 | Artisans, commerçants, chefs d'entreprise Actifs ayant un emploi RP1968 | Artisans, commerçants, chefs d'entreprise Chômeurs RP1968 | Cadres et professions intellectuelles supérieures Actifs ayant un emploi RP1968 | Cadres et professions intellectuelles supérieures Chômeurs RP1968 | Professions intermédiaires Actifs ayant un emploi RP1968 | Professions intermédiaires Chômeurs RP1968 | Employés Actifs ayant un emploi RP1968 | Employés Chômeurs RP1968 | Ouvriers Actifs ayant un emploi RP1968 | Ouvriers Chômeurs RP1968 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
count | 13.000000 | 13.0 | 13.000000 | 13.000000 | 13.000000 | 13.000000 | 13.000000 | 13.000000 | 13.000000 | 13.000000 | 13.000000 | 13.000000 |
mean | 106408.615385 | 0.0 | 96920.615385 | 0.923077 | 60243.076923 | 593.846154 | 133968.000000 | 1445.230769 | 192912.923077 | 4376.307692 | 347765.846154 | 9113.230769 |
std | 66041.380075 | 0.0 | 54185.445840 | 3.328201 | 76704.167034 | 1112.240520 | 127645.985611 | 1896.214042 | 192503.238547 | 5331.710285 | 226311.369976 | 8920.983411 |
min | 4960.000000 | 0.0 | 5700.000000 | 0.000000 | 2080.000000 | 0.000000 | 4320.000000 | 80.000000 | 9540.000000 | 240.000000 | 15860.000000 | 340.000000 |
25% | 73128.000000 | 0.0 | 67008.000000 | 0.000000 | 24464.000000 | 144.000000 | 70120.000000 | 460.000000 | 94472.000000 | 1528.000000 | 206432.000000 | 3748.000000 |
50% | 97980.000000 | 0.0 | 96348.000000 | 0.000000 | 46608.000000 | 276.000000 | 108744.000000 | 976.000000 | 161756.000000 | 3372.000000 | 271088.000000 | 6460.000000 |
75% | 151212.000000 | 0.0 | 119944.000000 | 0.000000 | 54556.000000 | 452.000000 | 159032.000000 | 1272.000000 | 201232.000000 | 4376.000000 | 516920.000000 | 10580.000000 |
max | 226852.000000 | 0.0 | 221520.000000 | 12.000000 | 305912.000000 | 4212.000000 | 521652.000000 | 7328.000000 | 791704.000000 | 20832.000000 | 879892.000000 | 34556.000000 |
In [5]:
regions2014.describe()
Out[5]:
Agriculteurs Actifs ayant un emploi RP2014 | Agriculteurs Chômeurs RP2014 | Artisans, commerçants, chefs d'entreprise Actifs ayant un emploi RP2014 | Artisans, commerçants, chefs d'entreprise Chômeurs RP2014 | Cadres et professions intellectuelles supérieures Actifs ayant un emploi RP2014 | Cadres et professions intellectuelles supérieures Chômeurs RP2014 | Professions intermédiaires Actifs ayant un emploi RP2014 | Professions intermédiaires Chômeurs RP2014 | Employés Actifs ayant un emploi RP2014 | Employés Chômeurs RP2014 | Ouvriers Actifs ayant un emploi RP2014 | Ouvriers Chômeurs RP2014 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
count | 13.000000 | 13.000000 | 13.000000 | 13.000000 | 1.300000e+01 | 13.000000 | 1.300000e+01 | 13.000000 | 1.300000e+01 | 13.000000 | 13.000000 | 13.000000 |
mean | 22555.817521 | 298.280275 | 97867.271897 | 7439.993340 | 2.796130e+05 | 12530.053626 | 4.088956e+05 | 38300.392626 | 4.119568e+05 | 69361.634769 | 307272.477501 | 65423.331280 |
std | 13627.685968 | 195.082518 | 55155.239763 | 4569.998056 | 3.206909e+05 | 15630.767536 | 2.643612e+05 | 29125.136298 | 2.427597e+05 | 42559.208410 | 142584.265783 | 33386.696630 |
min | 1698.610989 | 14.159137 | 10371.014780 | 592.899552 | 1.024463e+04 | 435.976442 | 2.231365e+04 | 2022.088198 | 3.246782e+04 | 5976.867741 | 18318.965904 | 3168.379136 |
25% | 13731.136316 | 177.683361 | 61807.703240 | 4309.923695 | 1.257314e+05 | 4575.836184 | 2.655183e+05 | 21068.120831 | 2.689434e+05 | 37705.049836 | 231276.372857 | 42277.992665 |
50% | 20314.763142 | 257.500848 | 87398.160828 | 7089.486077 | 2.390354e+05 | 8518.544068 | 3.899687e+05 | 36268.185842 | 4.232858e+05 | 78390.116057 | 288689.509344 | 60144.255762 |
75% | 28429.581400 | 361.836538 | 135543.550137 | 10413.313680 | 2.480851e+05 | 12336.932526 | 4.578087e+05 | 43522.820470 | 4.992887e+05 | 93523.344905 | 432458.415829 | 93951.775318 |
max | 46101.749747 | 679.489113 | 203747.801541 | 17112.882402 | 1.287917e+06 | 61943.340704 | 1.095707e+06 | 120136.339854 | 1.017211e+06 | 171489.384828 | 521635.119285 | 118181.606481 |
In [6]:
regions1968_bis = regions1968[regions1968.columns[::2]]
regions1968_bis
Out[6]:
Agriculteurs Actifs ayant un emploi RP1968 | Artisans, commerçants, chefs d'entreprise Actifs ayant un emploi RP1968 | Cadres et professions intellectuelles supérieures Actifs ayant un emploi RP1968 | Professions intermédiaires Actifs ayant un emploi RP1968 | Employés Actifs ayant un emploi RP1968 | Ouvriers Actifs ayant un emploi RP1968 | |
---|---|---|---|---|---|---|
Région | ||||||
ÃŽle-de-France | 13652 | 221520 | 305912 | 521652 | 791704 | 879892 |
Centre-Val de Loire | 73128 | 53572 | 21604 | 59452 | 85424 | 183304 |
Bourgogne-Franche-Comté | 85284 | 61824 | 26604 | 76732 | 103348 | 231496 |
Normandie | 113008 | 69388 | 30088 | 86712 | 113204 | 256920 |
Hauts-de-France | 86004 | 119944 | 53872 | 160128 | 197596 | 541364 |
Grand Est | 97980 | 96348 | 62796 | 159032 | 215492 | 516920 |
Pays de la Loire | 151212 | 67008 | 23992 | 70120 | 94472 | 206432 |
Bretagne | 181764 | 70200 | 24464 | 60080 | 87700 | 180328 |
Nouvelle-Aquitaine | 226852 | 129596 | 50772 | 119248 | 201232 | 365672 |
Occitanie | 143432 | 102208 | 46608 | 110108 | 161756 | 300480 |
Auvergne-Rhône-Alpes | 165352 | 162272 | 79812 | 205256 | 257968 | 571200 |
Provence-Alpes-Côte d'Azur | 40684 | 100388 | 54556 | 108744 | 188432 | 271088 |
Corse | 4960 | 5700 | 2080 | 4320 | 9540 | 15860 |
In [7]:
res1968 = CA(n_components = 2)
res1968.fit(regions1968_bis)
Out[7]:
CA()
In [8]:
row1968 = res1968.row_coordinates(regions1968_bis)
col1968 = res1968.column_coordinates(regions1968_bis)
In [9]:
plt.figure(figsize = (16, 8))
g = seaborn.scatterplot(x = 0, y = 1, data = row1968)
for i in range(row1968.shape[0]):
plt.text(row1968.iloc[i][0], row1968.iloc[i][1], row1968.index[i],
ha = "center", va = "center", fontsize = 15, color = "steelblue")
seaborn.scatterplot(x = 0, y = 1, data = col1968)
for i in range(col1968.shape[0]):
plt.text(col1968.iloc[i][0], col1968.iloc[i][1],
col1968.index[i].replace(" Actifs ayant un emploi RP1968", ""),
ha = "center", va = "center", fontsize = 15, color = "red")
ax = plt.gca()
ax.set_title("Situation en 1968")
plt.show()
Out[9]:
Text(0.5, 1.0, 'Situation en 1968')
Pour 2014¶
In [10]:
regions2014_bis = regions2014[regions2014.columns[::2]]
regions2014_bis
Out[10]:
Agriculteurs Actifs ayant un emploi RP2014 | Artisans, commerçants, chefs d'entreprise Actifs ayant un emploi RP2014 | Cadres et professions intellectuelles supérieures Actifs ayant un emploi RP2014 | Professions intermédiaires Actifs ayant un emploi RP2014 | Employés Actifs ayant un emploi RP2014 | Ouvriers Actifs ayant un emploi RP2014 | |
---|---|---|---|---|---|---|
Région | ||||||
ÃŽle-de-France | 3373.297125 | 203747.801541 | 1.287917e+06 | 1.095707e+06 | 1.017211e+06 | 521635.119285 |
Centre-Val de Loire | 13731.136316 | 47577.256270 | 1.087993e+05 | 2.100894e+05 | 2.187664e+05 | 184516.579228 |
Bourgogne-Franche-Comté | 20314.763142 | 53729.925925 | 1.053460e+05 | 2.218569e+05 | 2.271630e+05 | 219598.002062 |
Normandie | 19265.892020 | 61807.703240 | 1.257314e+05 | 2.655183e+05 | 2.796448e+05 | 250432.208276 |
Hauts-de-France | 17767.070961 | 87398.160828 | 2.480851e+05 | 4.721263e+05 | 4.992887e+05 | 436388.567456 |
Grand Est | 25048.025285 | 90645.318151 | 2.395307e+05 | 4.502691e+05 | 4.775704e+05 | 432458.415829 |
Pays de la Loire | 28429.581400 | 72190.709650 | 1.664224e+05 | 3.103254e+05 | 3.044966e+05 | 288689.509344 |
Bretagne | 27348.911435 | 67631.838365 | 1.451345e+05 | 2.675298e+05 | 2.689434e+05 | 231276.372857 |
Nouvelle-Aquitaine | 46101.749747 | 135543.550137 | 2.390354e+05 | 4.578087e+05 | 5.023389e+05 | 378054.257472 |
Occitanie | 40227.560147 | 138923.465248 | 2.807396e+05 | 4.569632e+05 | 4.617489e+05 | 291516.968669 |
Auvergne-Rhône-Alpes | 38505.322742 | 176843.733772 | 4.376175e+05 | 6.951654e+05 | 6.425122e+05 | 506347.767141 |
Provence-Alpes-Côte d'Azur | 11413.706458 | 125864.056760 | 2.403653e+05 | 3.899687e+05 | 4.232858e+05 | 235309.473987 |
Corse | 1698.610989 | 10371.014780 | 1.024463e+04 | 2.231365e+04 | 3.246782e+04 | 18318.965904 |
In [11]:
res2014 = CA(n_components = 2)
res2014.fit(regions2014_bis)
Out[11]:
CA()
In [12]:
row2014 = res2014.row_coordinates(regions2014_bis)
col2014 = res2014.column_coordinates(regions2014_bis)
In [13]:
plt.figure(figsize = (16, 8))
g = seaborn.scatterplot(x = 0, y = 1, data = row2014)
for i in range(row2014.shape[0]):
plt.text(row2014.iloc[i][0], row2014.iloc[i][1], row2014.index[i],
ha = "center", va = "center", fontsize = 15, color = "steelblue")
seaborn.scatterplot(x = 0, y = 1, data = col2014)
for i in range(col2014.shape[0]):
plt.text(col2014.iloc[i][0], col2014.iloc[i][1],
col2014.index[i].replace(" Actifs ayant un emploi RP2014", ""),
ha = "center", va = "center", fontsize = 15, color = "red")
ax = plt.gca()
ax.set_title("Situation en 2014")
plt.show()