Académique Documents
Professionnel Documents
Culture Documents
Rapport du Projet
Datawarehouse
CONCEPTION ET RÉALISATION
RÉALISÉ PAR :
Reda El Marhouch
N77 GDV
Introduction
Population
Revenu
County
Month
Crime
State
Race
Year
Indicateurs choisis Explication
• Quelle année a connu le taux de Identifier l’année avec le taux de chômage le plus x
chômage le plus élevé/le plus bas bas en calculant la moyenne des « taux par
comtés »
Quels états/comtés ont les taux de Calculer le taux de criminalité par comtés pour un x x x
criminalité les plus élevés/les plus bas mois ou une année donnée
cette année
• Les États avec le taux de chômage le plus Identifier les top 10 Etats ayant le taux de x x x
élevé cette année/ce mois chômage le plus élevé/bas pour un mois et une
année donnée
• Les types de crimes les plus répandus Les types de crimes répandus dans les Etats ayant x x x
dans les Etats ayant un taux de chômage le taux de chômage le plus élevé/bas pour une
élevé/bas cette année année donnée
• les ethnies majoritaires par comté La distribution des ethnies les plus présents pour x x
un comté donné
• Les types de crimes les plus répandu Les types de crimes répandus dans les Etats le x x x
dans les Etats ayant un revenu médian revenu médian le plus élevé/bas
élevé/bas
• les ethnies majoritaires dans les états Les ethnies les plus présents dans les états ayant x x x
ayant un revenu médian élevé/bas un revenu médian élevé /bas
• les comtés ayant min/max revenu La distribution des comtés selon le revenu x x x
médian par état médian pour un état donné
• Relation entre taux de chômage taux de Décrire la relation entre taux de chômage taux de x x x
criminalité et revenu médian criminalité et revenu médian
Conception du datawarehouse
Création du Datawarehouse
Dans cette partie du projet, nous mettrons en œuvre l'entrepôt de données sur SSMS sous le nom
empDW, nous utiliserons le modèle en flocon,
Pipeline ETL
1-Chargement des données vers des tables staging
les fichiers CSVs générés après l’exécution de ce script sont introduits comme
fichiers plats et chargés dans des tables « Staging » temporaires pour être
transformé et chargé vers les dimensions dans l'entrepôt de données que nous
avons créé sur le SQL Server Management Studio (SSMS)
2-Population des dimensions
Ensuite on transforme les données issues des tables staging, et on les charge dans les tables de
dimensions. Dans le schéma en flocon on commence le chargement par les dimensions les plus éloignés
de la table de faits.
Dim_State
Dim_County
ORDER BY RevStagingTable.fips
Pour la dimension County on a introduit une tâche de conversion de données pour changer le type de
FIPS d’une chaîne de caractères vers un entier
Dim_year
DATENAME(month,concat('1970-',month,'-01')) as
monthname,
dim_year.Year_ID as year_id
CrimeStaging.[MODINDX],
CrimeStaging.[MURDER],
CrimeStaging.[RAPE]
,CrimeStaging.[ROBBERY]
,CrimeStaging.[AGASSLT]
,CrimeStaging.[BURGLRY]
,CrimeStaging.[LARCENY]
,CrimeStaging.[MVTHEFT]
,CrimeStaging.[ARSON]
,CrimeStaging.[crime_rate_per_100000]
Dim_Revenu
ORDER BY county_id
3-Population de la table de faits
Après avoir rempli les dimensions, on passe à la table de faits. On remplit les champs nécessaires de la
table en utilisant une requête SQL et des recherches de correspondance pour les IDs
Fact_Unemployement
SELECT dim_county.county_ID,month,year,
Employment, Labor_Force, Unemployment,
Unemployment_Rate
From EmployStaging
Order By year,month,county_ID
Puis à l’aide des taches d’exécution de requêtes SQL on effectue La mise à jour des tables par les clés
secondaires qui renvoient vers les dimensions.
Crime_ID
UPDATE fact_unemployement
SET fact_unemployement.crime_ID = dim_crime.crime_ID
FROM fact_unemployement
LEFT JOIN dim_crime ON
(fact_unemployement.year_ID = dim_crime.year_ID
AND
fact_unemployement.county_ID = dim_crime.county_ID)
revenue_ID
UPDATE fact_unemployement
SET fact_unemployement.revenu_ID = dim_revenu.revenu_ID
FROM fact_unemployement
LEFT JOIN dim_revenu ON
(fact_unemployement.year_ID = dim_revenu.year_ID
AND
fact_unemployement.county_ID = dim_revenu.county_ID)
race_ID
UPDATE fact_unemployement
SET fact_unemployement.race_ID = dim_race.race_ID
FROM fact_unemployement
LEFT JOIN dim_race ON
(fact_unemployement.year_ID = dim_race.year_ID
AND
fact_unemployement.county_ID = dim_race.county_ID)
population_ID
UPDATE fact_unemployement
SET fact_unemployement.population_ID = dim_population.population_ID
FROM fact_unemployement
LEFT JOIN dim_population ON
(fact_unemployement.year_ID = dim_population.year_ID
AND fact_unemployement.county_ID = dim_population.county_ID)
l’ETL complet
Analyse et Reporting
On a procédé par l’importation des données du datawarehouse dans l’onglet
data source.
1-Création des graphiques
En utilisant le worksheet on crée les graphiques à partir des mesures et des dimensions existantes dans
l'onglet data, puis Bon paramètres l'affichage et la mise en page du graphique pour pouvoir l'intégrer
dans un nouveau dashboard.
2-Création du Dashboard
En créant un nouvel onglet dashboard, on peut importer les graphiques crées ultérieurement et les
insérer, On peut aussi créer des filtres pour paramétrer l'affichage d'une manière interactive dans notre
dashboard.
Carte Détaillée
On remarque d'après ce
graphique que le taux de
chômage n’a cessé de
diminuer cette dernière
décennie avec une
baisse considérable de
9,3% en 2010 à 3,96% en
2019
• Quels États/comtés ont les taux de criminalité les plus élevés/les plus en 2016
Analyse :
Au niveau des comtés on remarque que Zeibach County (Comté dans le Dakota du Sud) a le
taux de criminalité le plus bas aux États-Unis avec une moyenne de 35 actes criminels dans une
population de 100000 personnes. Abbeville County (Comté en Caroline du Sud) a le taux de
criminalité le plus haut avec une moyenne de 581,1 actes criminels dans une population de
100000.
• Les États avec le taux de chômage le plus élevé cette année/ce mois
On a ajouté une liste déroulante pour pouvoir
sélectionner l'année et le moi l’ordre des Top 10
états changes en fonction de la valeur chronologique
l’option Play nous permet de dérouler le classement
chronologiquement sous forme de graphique
dynamique
«Bar Chart Race»
Analyse :
Les Etats ayant le taux de chômage le plus élevé en janvier 2011 sont La Californie Avec un taux
de chômage aux environs de 15% suivi par Alaska 14% puis la Caroline du Sud 13%. En décembre
2019, Alaska possède le taux de chômage le plus élevé suivi par Mississippi et Arizona.
On remarque que dans cette décennie plusieurs états ont pu diminuer leur taux de chômage, à
titre d'exemple la Caroline du Sud qui a pu descendre de la 3eme place au début de 2011 à la
10eme place à la fin de 2019, En réduisant son taux de chômage de 13% à 3%.
• Les types de crimes les plus répandus dans les Etats ayant un taux de chômage élevé/bas
Analyse :
Analyse :
Analyse :
• les ethnies majoritaires dans les états ayant un revenu médian élevé/bas
Analyse :
L’Etat de New Jersey a le meilleur revenu médian aux états unis. Les ethnies majoritaires sont Les Blancs,
suivi par les Latinos, puis les Africains Américains.
• les comtés ayant min/max revenu moyenne par état
Analyse :
Les 50% centrale des comtés de la Californie ont un revenu médian entre $45K et $65K , Santa Clara
County représente une valeur aberrante dans cet l’Etat avec un revenu médian de $96,310.
Analyse :
Dans ce graphique on représente le taux de criminalité dans l'axe des x et le taux de chômage dans l'axe
des y, la taille de la bulle indique le revenu médian dans cet Etat. Il apparaît qu'il existe une liaison entre
le taux de chômage et le taux de criminalité, pour la prouver il faut effectuer une étude de corrélation,
en tout cas l’étude du phénomène de criminalité dans les états unis ne peut être effectuée d’une
manière uniforme sur l’ensemble des états sans prendre en compte plusieurs facteurs et les differentes
juridictions de chaque Etat par rapport le port d’arme etc…
Table des matières
Introduction .................................................................................................................................................. 2
Sources de données : .................................................................................................................................... 3
Liste des Outils .............................................................................................................................................. 3
Conception .................................................................................................................................................... 4
Descriptif détaillé des indicateurs choisis et Matrice dimensionnelle ................................................... 4
Conception du datawarehouse ................................................................................................................ 4
Création du Datawarehouse ......................................................................................................................... 5
Collecte et préparation des données ............................................................................................................ 6
Pipeline ETL ................................................................................................................................................... 6
1-Chargement des données vers des tables staging ............................................................................... 6
2-Population des dimensions................................................................................................................... 7
3-Population de la table de faits ............................................................................................................ 13
Analyse et Reporting ................................................................................................................................... 15
1-Création des graphiques ..................................................................................................................... 16
2-Création du Dashboard ....................................................................................................................... 16
3- Analyse des KPI .................................................................................................................................. 18
• Quelle année a connu le taux de chômage le plus élevé/le plus bas ......................................... 18
• Quels États/comtés ont les taux de criminalité les plus élevés/les plus en 2016 ...................... 18
• Les États avec le taux de chômage le plus élevé cette année/ce mois....................................... 19
• Les types de crimes les plus répandus dans les Etats ayant un taux de chômage élevé/bas ..... 20
• les ethnies majoritaires par comté ............................................................................................. 20
• Les types de crimes les plus répandu dans les Etats ayant un revenu médian élevé/bas.......... 21
• les ethnies majoritaires dans les états ayant un revenu médian élevé/bas ............................... 21
• les comtés ayant min/max revenu moyenne par état ................................................................ 22
• Relation entre taux de Chômage – Crime - Revenu .................................................................... 22
Annexe ........................................................................................................................................................ 24
ANNEXE
Scrapping_Cleaning_For_DW
January 4, 2021
import pandas as pd
import requests
#------------------------------------------------------
# Download and save .TXT files from BLS website
BLS_url = 'https://download.bls.gov/pub/time.series/la/'
filenames = ['la.area','la.data.0.CurrentU10-14','la.data.0.CurrentU15-19']
for xx in filenames:
dls = BLS_url+xx
resp = requests.get(dls)
df_areas = df_areas.loc[df_areas['area_code'].str.contains('CN')]
df_areas.reset_index(drop=True, inplace=True)
1
df_areas['area_code'] = df_areas['area_code'].map(lambda x: x.strip())
df_areas['countyname'] = df_areas['countyname'].map(lambda x: x.strip())
#------------------------------------------------------
[68]: def get_BLS_county_data(BLS_data_path, df_areas):
df_bls_county.reset_index(drop=True, inplace=True)
'05':␣
,→'Employment', '06': 'Labor_Force'})
2
df_bls_county = pd.merge(df_bls_county, df_areas, how='inner',␣
,→ on='area_code')
df_bls_county = df_bls_county.pivot_table(values='value',␣
,→index=['area_code', 'FIPS', 'state', 'countyname','year', 'month'],␣
,→columns='variable_name')
df_bls_county.reset_index(inplace=True)
df_bls_county.columns.name = None
print('Done!')
return df_bls_county
[69]: df_unemp_10_14 = get_BLS_county_data('la.data.0.CurrentU10-14.txt', df_areas)
Done!
[70]: df_unemp_10_14.tail(30)
[70]: area_code FIPS ... Unemployment Unemployment_Rate
193050 CN7215300000000 72153 ... 2497.0 21.0
193051 CN7215300000000 72153 ... 2342.0 20.5
193052 CN7215300000000 72153 ... 2307.0 20.0
193053 CN7215300000000 72153 ... 2349.0 20.5
193054 CN7215300000000 72153 ... 2242.0 19.8
193055 CN7215300000000 72153 ... 2314.0 20.3
193056 CN7215300000000 72153 ... 2704.0 22.7
193057 CN7215300000000 72153 ... 2399.0 21.2
193058 CN7215300000000 72153 ... 2285.0 20.4
193059 CN7215300000000 72153 ... 2142.0 19.5
193060 CN7215300000000 72153 ... 2214.0 20.0
193061 CN7215300000000 72153 ... 2259.0 20.3
193062 CN7215300000000 72153 ... 2399.0 20.8
193063 CN7215300000000 72153 ... 2409.0 21.0
193064 CN7215300000000 72153 ... 2427.0 21.1
193065 CN7215300000000 72153 ... 2398.0 21.1
193066 CN7215300000000 72153 ... 2354.0 21.0
193067 CN7215300000000 72153 ... 2706.0 23.7
193068 CN7215300000000 72153 ... 2679.0 23.5
193069 CN7215300000000 72153 ... 2652.0 23.6
193070 CN7215300000000 72153 ... 2578.0 23.0
193071 CN7215300000000 72153 ... 2394.0 21.8
193072 CN7215300000000 72153 ... 2397.0 21.9
193073 CN7215300000000 72153 ... 2229.0 20.6
193074 CN7215300000000 72153 ... 2294.0 21.1
193075 CN7215300000000 72153 ... 2504.0 22.4
193076 CN7215300000000 72153 ... 2374.0 21.7
193077 CN7215300000000 72153 ... 2143.0 19.5
193078 CN7215300000000 72153 ... 2124.0 19.5
3
193079 CN7215300000000 72153 ... 2025.0 18.7
df_unemp_county = df_unemp_10_14
df_unemp_county = df_unemp_county.append(df_unemp_15_19)
,→to_csv('BLS_county_employment.csv', index=False)
Done!
Done!
total 273M
22M -rw-r--r-- 1 root root 22M Jan 3 23:01 BLS_county_employment.csv
252K -rw-r--r-- 1 root root 250K Jan 3 20:19 div.csv
272K -rw-r--r-- 1 root root 272K Jan 3 20:19 div_with_fips.csv
4.0K drwxr-xr-x 4 root root 4.0K Jan 3 20:19 DWBI_ETL
240K -rw-r--r-- 1 root root 237K Jan 3 20:19 Income_fips.csv
428K -rw-r--r-- 1 root root 428K Jan 3 23:00 la.area.txt
114M -rw-r--r-- 1 root root 114M Jan 3 23:00 la.data.0.CurrentU10-14.txt
114M -rw-r--r-- 1 root root 114M Jan 3 23:00 la.data.0.CurrentU15-19.txt
216K -rw-r--r-- 1 root root 216K Jan 3 20:19 revenu.csv
4.0K drwxr-xr-x 1 root root 4.0K Dec 21 17:29 sample_data
384K -rw-r--r-- 1 root root 384K Jan 3 20:19 Table_crime.csv
280K -rw-r--r-- 1 root root 279K Jan 3 20:19 Table_div.csv
22M -rw-r--r-- 1 root root 22M Jan 3 20:19 Table_employment.csv
1.3M -rw-r--r-- 1 root root 1.3M Jan 3 20:19 Table_population.csv
248K -rw-r--r-- 1 root root 246K Jan 3 20:19 Table_revenu.csv
4
Cloning into 'DWBI_ETL'...
remote: Enumerating objects: 29, done.
remote: Counting objects: 100% (29/29), done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 29 (delta 4), reused 11 (delta 0), pack-reused 0
Unpacking objects: 100% (29/29), done.
df_diversity.head()
[79]: Location Diversity ... Latino White
0 Aleutians West Census Area, AK 0.769346 ... 14.6 29.2
1 Queens County, NY 0.742224 ... 28.0 26.7
2 Maui County, HI 0.740757 ... 10.7 31.5
3 Alameda County, CA 0.740399 ... 22.7 33.2
4 Aleutians East Borough, AK 0.738867 ... 13.5 12.9
[5 rows x 9 columns]
[80]: df_diversity.tail
5
[80]: <bound method NDFrame.tail of Location Diversity
... Latino White
0 Aleutians West Census Area, AK 0.769346 ... 14.6 29.2
1 Queens County, NY 0.742224 ... 28.0 26.7
2 Maui County, HI 0.740757 ... 10.7 31.5
3 Alameda County, CA 0.740399 ... 22.7 33.2
4 Aleutians East Borough, AK 0.738867 ... 13.5 12.9
... ... ... ... ... ...
3190 Osage County, MO 0.037540 ... 0.6 98.1
3191 Lincoln County, WV 0.035585 ... 0.6 98.2
3192 Leslie County, KY 0.035581 ... 0.5 98.2
3193 Blaine County, NE 0.023784 ... 0.2 98.8
3194 Keya Paha County, NE 0.021816 ... 0.5 98.9
6
Requirement already satisfied: addfips in /usr/local/lib/python3.6/dist-packages
(0.3.1)
Requirement already satisfied: importlib-resources>=2.0.1 in
/usr/local/lib/python3.6/dist-packages (from addfips) (3.3.0)
Requirement already satisfied: zipp>=0.4; python_version < "3.8" in
/usr/local/lib/python3.6/dist-packages (from importlib-
resources>=2.0.1->addfips) (3.4.0)
df_diversity['TEMcounty']=df_diversity['TEMcounty'].apply(lambda x:␣
,→takeElt(x,0))
df_diversity['TEMstate']=df_diversity['TEMstate'].apply(lambda x: takeElt(x,1))
[90]: df_diversity.Location[df_diversity["Location"]=="Dona Ana County, NM" ]
[90]: 825 Dona Ana County, NM
Name: Location, dtype: object
[91]: import addfips
af = addfips.AddFIPS()
af.get_county_fips('Dona Ana County', state='NM')
[91]: '35013'
[92]: df_diversity.to_csv('div.csv', index=False)
7
!addfips div.csv --state-field TEMstate --county-field TEMcounty >␣
,→div_with_fips.csv
[95]: df_divFips
[95]: fips ... TEMstate
0 2016 ... AK
1 36081 ... NY
2 15009 ... HI
3 6001 ... CA
4 2013 ... AK
... ... ... ...
3190 29151 ... MO
3191 54043 ... WV
3192 21131 ... KY
3193 31009 ... NE
3194 31103 ... NE
pop_data
[96]: FIPStxt State ... R_NET_MIG_2018 R_NET_MIG_2019
0 0 US ... NaN NaN
1 1000 AL ... 1.8 2.5
2 1001 AL ... 0.5 4.6
3 1003 AL ... 24.7 24.4
4 1005 AL ... -8.8 -5.2
... ... ... ... ... ...
3268 72145 PR ... NaN NaN
3269 72147 PR ... NaN NaN
3270 72149 PR ... NaN NaN
3271 72151 PR ... NaN NaN
3272 72153 PR ... NaN NaN
8
[98]: pop_data=pop_data.
,→melt(id_vars=["FIPStxt","State","Area_Name"],var_name="year",value_name="pop_Estimate")
[103]: df_divFips['year']=2016
[104]: df_divFips
[104]: fips Location ... TEMstate year
0 002016 Aleutians West Census Area, AK ... AK 2016
1 036081 Queens County, NY ... NY 2016
2 015009 Maui County, HI ... HI 2016
3 006001 Alameda County, CA ... CA 2016
4 002013 Aleutians East Borough, AK ... AK 2016
... ... ... ... ... ...
3190 029151 Osage County, MO ... MO 2016
3191 054043 Lincoln County, WV ... WV 2016
3192 021131 Leslie County, KY ... KY 2016
3193 031009 Blaine County, NE ... NE 2016
3194 031103 Keya Paha County, NE ... NE 2016
9
[105]: pop_data
[105]: FIPStxt State Area_Name year pop_Estimate
0 000000 US United States 2010 309,321,666
1 001000 AL Alabama 2010 4,785,437
2 001001 AL Autauga County 2010 54,773
3 001003 AL Baldwin County 2010 183,112
4 001005 AL Barbour County 2010 27,327
... ... ... ... ... ...
32725 072145 PR Vega Baja Municipio, Puerto Rico 2019 50,023
32726 072147 PR Vieques Municipio, Puerto Rico 2019 8,386
32727 072149 PR Villalba Municipio, Puerto Rico 2019 21,372
32728 072151 PR Yabucoa Municipio, Puerto Rico 2019 32,282
32729 072153 PR Yauco Municipio, Puerto Rico 2019 33,575
df_crime['year']=2016
[107]: df_crime
[107]: county_name crime_rate_per_100000 ... FIPS year
0 St. Louis city, MO 1791.995377 ... 029510 2016
1 Crittenden County, AR 1754.914968 ... 005035 2016
2 Alexander County, IL 1664.700485 ... 017003 2016
3 Kenedy County, TX 1456.310680 ... 048261 2016
4 De Soto Parish, LA 1447.402430 ... 022031 2016
... ... ... ... ... ...
3131 Ohio County, IN 0.000000 ... 018115 2016
3132 Newton County, MS 0.000000 ... 028101 2016
3133 Jerauld County, SD 0.000000 ... 046073 2016
3134 Cimarron County, OK 0.000000 ... 040025 2016
3135 Lawrence County, MS 0.000000 ... 028077 2016
[109]: data
[109]: FIPS state ... Unemployment Unemployment_Rate
0 001001 AL ... 2655.0 10.6
1 001001 AL ... 2529.0 10.1
2 001001 AL ... 2380.0 9.5
3 001001 AL ... 2197.0 8.5
4 001001 AL ... 2099.0 8.1
... ... ... ... ... ...
10
386155 072153 PR ... 1168.0 12.2
386156 072153 PR ... 1360.0 14.1
386157 072153 PR ... 1401.0 14.4
386158 072153 PR ... 1385.0 14.4
386159 072153 PR ... 1567.0 16.1
11
1232 000000 PENNSYLVANIA 0.366855 ... NaN NaN 2016
1315 000000 UTAH 0.345283 ... NaN NaN 2016
1347 000000 MISSOURI 0.337624 ... NaN NaN 2016
1353 000000 INDIANA 0.334928 ... NaN NaN 2016
1355 000000 OHIO 0.334424 ... NaN NaN 2016
1374 000000 NEBRASKA 0.330784 ... NaN NaN 2016
1406 000000 MINNESOTA 0.320766 ... NaN NaN 2016
1443 000000 WISCONSIN 0.310146 ... NaN NaN 2016
1488 000000 SOUTH DAKOTA 0.296087 ... NaN NaN 2016
1492 000000 IDAHO 0.294478 ... NaN NaN 2016
1544 000000 WYOMING 0.281902 ... NaN NaN 2016
1658 000000 KENTUCKY 0.258983 ... NaN NaN 2016
1767 000000 MONTANA 0.237060 ... NaN NaN 2016
1785 000000 NORTH DAKOTA 0.233284 ... NaN NaN 2016
1814 000000 IOWA 0.227828 ... NaN NaN 2016
2166 000000 NEW HAMPSHIRE 0.158854 ... NaN NaN 2016
2316 000000 WEST VIRGINIA 0.138886 ... NaN NaN 2016
2464 000000 VERMONT 0.119187 ... NaN NaN 2016
2500 000000 MAINE 0.115582 ... NaN NaN 2016
12
same for revenu
[117]: df_revenu = pd.read_csv('DWBI_ETL/data/2015 Median Income by County.csv')
[122]: df_revenu_fips['year']=2016
[123]: df_revenu_fips
[123]: fips County-State ... State year
0 001001 Autauga County, Alabama ... Alabama 2016
1 001003 Baldwin County, Alabama ... Alabama 2016
2 001005 Barbour County, Alabama ... Alabama 2016
3 001007 Bibb County, Alabama ... Alabama 2016
4 001009 Blount County, Alabama ... Alabama 2016
... ... ... ... ... ...
3137 056037 Sweetwater County, Wyoming ... Wyoming 2016
3138 056039 Teton County, Wyoming ... Wyoming 2016
3139 056041 Uinta County, Wyoming ... Wyoming 2016
3140 056043 Washakie County, Wyoming ... Wyoming 2016
3141 056045 Weston County, Wyoming ... Wyoming 2016
13
[124]: df_revenu_fips.to_csv('Table_revenu.csv', index=False)
All fips with ’000’ in the end represents state average Data
[125]: L=[normalise_fips(str(x)+"000") for x in range(0,52)]
L
[125]: ['000000',
'001000',
'002000',
'003000',
'004000',
'005000',
'006000',
'007000',
'008000',
'009000',
'010000',
'011000',
'012000',
'013000',
'014000',
'015000',
'016000',
'017000',
'018000',
'019000',
'020000',
'021000',
'022000',
'023000',
'024000',
'025000',
'026000',
'027000',
'028000',
'029000',
'030000',
'031000',
'032000',
'033000',
'034000',
'035000',
'036000',
'037000',
'038000',
'039000',
'040000',
'041000',
14
'042000',
'043000',
'044000',
'045000',
'046000',
'047000',
'048000',
'049000',
'050000',
'051000']
[126]: for n in L:
pop_data.drop(pop_data[pop_data['FIPStxt']==n].index, inplace=True)
pop_data
[126]: FIPStxt State Area_Name year pop_Estimate
2 001001 AL Autauga County 2010 54,773
3 001003 AL Baldwin County 2010 183,112
4 001005 AL Barbour County 2010 27,327
5 001007 AL Bibb County 2010 22,870
6 001009 AL Blount County 2010 57,376
... ... ... ... ... ...
32725 072145 PR Vega Baja Municipio, Puerto Rico 2019 50,023
32726 072147 PR Vieques Municipio, Puerto Rico 2019 8,386
32727 072149 PR Villalba Municipio, Puerto Rico 2019 21,372
32728 072151 PR Yabucoa Municipio, Puerto Rico 2019 32,282
32729 072153 PR Yauco Municipio, Puerto Rico 2019 33,575
15
[135]: pop_data.to_csv('Table_population.csv', index=False, sep=';')
df_revenu_fips.to_csv('Table_revenu.csv', index=False, sep=';')
df_divFips.to_csv('Table_div.csv', index=False, sep=';')
data.to_csv('Table_employment.csv', index=False, sep=';')
df_crime.to_csv('Table_crime.csv', index=False, sep=';')
16