diff --git a/module3/exo3/Tableau_Donnes_Fumeur.csv b/module3/exo3/Tableau_Donnes_Fumeur.csv
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/module3/exo3/donnees-Simpson.csv b/module3/exo3/donnees-Simpson.csv
new file mode 100644
index 0000000000000000000000000000000000000000..6c47065bc7aa53c0c92eef463cf16384eb028aaa
--- /dev/null
+++ b/module3/exo3/donnees-Simpson.csv
@@ -0,0 +1,1315 @@
+"Smoker","Status","Age"
+"Yes","Alive",21
+"Yes","Alive",19.3
+"No","Dead",57.5
+"No","Alive",47.1
+"Yes","Alive",81.4
+"No","Alive",36.8
+"No","Alive",23.8
+"Yes","Dead",57.5
+"Yes","Alive",24.8
+"Yes","Alive",49.5
+"Yes","Alive",30
+"No","Dead",66
+"Yes","Alive",49.2
+"No","Alive",58.4
+"No","Dead",60.6
+"No","Alive",25.1
+"No","Alive",43.5
+"No","Alive",27.1
+"No","Alive",58.3
+"Yes","Alive",65.7
+"No","Dead",73.2
+"Yes","Alive",38.3
+"No","Alive",33.4
+"Yes","Dead",62.3
+"No","Alive",18
+"No","Alive",56.2
+"Yes","Alive",59.2
+"No","Alive",25.8
+"No","Dead",36.9
+"No","Alive",20.2
+"Yes","Alive",34.6
+"Yes","Alive",51.9
+"Yes","Alive",49.9
+"No","Alive",19.4
+"No","Alive",56.9
+"Yes","Alive",46.7
+"Yes","Alive",44.4
+"Yes","Alive",29.5
+"Yes","Dead",33
+"Yes","Alive",35.6
+"Yes","Alive",39.1
+"No","Dead",69.7
+"Yes","Alive",35.7
+"No","Dead",75.8
+"No","Alive",25.3
+"No","Dead",83
+"Yes","Dead",44.3
+"No","Alive",18.5
+"Yes","Alive",37.5
+"Yes","Alive",22.1
+"No","Alive",82.8
+"No","Alive",45
+"No","Dead",73.3
+"Yes","Alive",39
+"No","Alive",28.4
+"No","Dead",73.7
+"Yes","Alive",40.1
+"No","Alive",51.2
+"No","Alive",22.9
+"No","Alive",41.9
+"Yes","Alive",58.1
+"Yes","Alive",37.3
+"No","Alive",41.7
+"Yes","Dead",36.3
+"Yes","Dead",80.7
+"Yes","Alive",33
+"Yes","Alive",38.6
+"Yes","Alive",27.9
+"No","Alive",47.6
+"No","Dead",77.6
+"No","Dead",58.1
+"Yes","Alive",26.2
+"No","Alive",45.4
+"No","Alive",62.4
+"No","Alive",62.5
+"No","Alive",39.5
+"No","Alive",27.6
+"Yes","Alive",31.4
+"No","Dead",85
+"No","Alive",18.9
+"No","Alive",35.3
+"Yes","Alive",25.4
+"No","Dead",72.8
+"Yes","Alive",58.3
+"No","Alive",27.3
+"No","Dead",55.9
+"No","Alive",32.8
+"Yes","Dead",53.6
+"No","Alive",55.9
+"Yes","Alive",48
+"Yes","Alive",56.1
+"No","Alive",18.3
+"Yes","Alive",20.2
+"No","Alive",62.8
+"Yes","Alive",18.6
+"No","Alive",46.3
+"No","Alive",36
+"Yes","Dead",55.5
+"Yes","Alive",18.6
+"No","Dead",65.7
+"No","Dead",76.5
+"Yes","Dead",61
+"No","Alive",26.8
+"Yes","Alive",47.6
+"No","Dead",70.5
+"No","Dead",81.8
+"Yes","Alive",32.5
+"No","Alive",23
+"No","Alive",83.7
+"Yes","Dead",62.8
+"Yes","Alive",45.9
+"No","Alive",59.9
+"Yes","Dead",66.5
+"No","Alive",47.5
+"No","Dead",89.3
+"No","Alive",57.2
+"Yes","Alive",21.3
+"Yes","Alive",34
+"No","Alive",59.5
+"Yes","Alive",50.1
+"No","Alive",56.1
+"Yes","Alive",30.6
+"Yes","Dead",63.8
+"Yes","Alive",27.4
+"Yes","Alive",32.5
+"No","Alive",22.5
+"Yes","Alive",24.2
+"No","Alive",56.8
+"Yes","Alive",28.9
+"Yes","Dead",87.8
+"Yes","Alive",19.4
+"No","Dead",88.4
+"Yes","Dead",35.7
+"No","Alive",33.7
+"No","Dead",62.3
+"Yes","Alive",63.6
+"Yes","Dead",71.7
+"No","Alive",48.5
+"No","Alive",82
+"Yes","Dead",40.8
+"Yes","Alive",31.3
+"No","Alive",25.1
+"No","Alive",24.4
+"No","Alive",32.2
+"No","Alive",53.1
+"No","Alive",47.5
+"No","Dead",26.3
+"No","Dead",66
+"Yes","Alive",41
+"No","Dead",58.3
+"No","Dead",86.8
+"Yes","Alive",49.7
+"No","Alive",21
+"No","Dead",75.8
+"No","Alive",50.5
+"No","Dead",63.5
+"Yes","Alive",33.1
+"No","Alive",30.7
+"Yes","Dead",59.4
+"No","Alive",67.2
+"Yes","Alive",20.7
+"No","Alive",41.6
+"No","Alive",37.7
+"No","Dead",89.7
+"No","Alive",45.2
+"Yes","Dead",59.9
+"No","Alive",55.4
+"Yes","Alive",44.8
+"No","Alive",18.3
+"No","Dead",76.7
+"Yes","Dead",62.3
+"Yes","Dead",48.4
+"No","Alive",82.7
+"No","Alive",27
+"No","Alive",30.9
+"No","Dead",82.9
+"No","Alive",40.5
+"Yes","Alive",56.8
+"No","Alive",26.5
+"Yes","Alive",41.9
+"Yes","Alive",29.9
+"No","Dead",75
+"No","Dead",66.3
+"No","Dead",87
+"No","Dead",79.5
+"Yes","Alive",51.7
+"No","Alive",30
+"No","Alive",78.2
+"No","Alive",80
+"Yes","Alive",62.9
+"Yes","Dead",78.3
+"Yes","Alive",49.8
+"Yes","Alive",36.5
+"No","Dead",60.1
+"Yes","Alive",62
+"No","Alive",19
+"No","Dead",87.6
+"No","Alive",24.3
+"No","Alive",22.2
+"Yes","Dead",68.4
+"No","Alive",32.5
+"Yes","Dead",89.2
+"Yes","Alive",44.5
+"Yes","Alive",43.3
+"Yes","Dead",57.4
+"Yes","Alive",45.6
+"Yes","Alive",18.1
+"Yes","Dead",63.4
+"No","Alive",67
+"Yes","Alive",55.6
+"Yes","Alive",51.9
+"No","Alive",23.3
+"Yes","Dead",57.6
+"No","Alive",38.4
+"No","Dead",35.2
+"Yes","Alive",26.2
+"No","Alive",60.3
+"Yes","Alive",48.7
+"Yes","Alive",23.7
+"Yes","Alive",46.9
+"Yes","Alive",18
+"No","Dead",65.8
+"Yes","Alive",33
+"Yes","Dead",83.1
+"No","Dead",58.4
+"Yes","Alive",23.2
+"No","Alive",66.7
+"No","Alive",58.8
+"Yes","Alive",56.7
+"Yes","Alive",21.5
+"No","Dead",78.3
+"No","Alive",51.5
+"Yes","Alive",63.5
+"Yes","Alive",57.8
+"Yes","Alive",59.5
+"Yes","Dead",47.8
+"Yes","Alive",53.9
+"Yes","Alive",45.5
+"Yes","Alive",24.2
+"No","Alive",63.9
+"Yes","Alive",37.5
+"No","Alive",20.6
+"No","Alive",22.9
+"No","Alive",46.1
+"No","Alive",49.6
+"No","Alive",31.4
+"No","Alive",25.9
+"Yes","Alive",46.8
+"Yes","Dead",81
+"No","Dead",84.3
+"No","Alive",30.8
+"Yes","Alive",52.4
+"No","Alive",20.1
+"Yes","Dead",58.9
+"Yes","Alive",72.1
+"No","Alive",19.6
+"No","Alive",52.6
+"Yes","Alive",35
+"Yes","Dead",35.4
+"No","Dead",55.1
+"Yes","Alive",23.7
+"No","Alive",49.1
+"Yes","Alive",39.7
+"Yes","Alive",33.7
+"No","Dead",66.4
+"No","Alive",24.2
+"No","Dead",67.2
+"No","Alive",19.4
+"No","Alive",52.4
+"No","Dead",58.6
+"Yes","Alive",36.2
+"Yes","Alive",38.8
+"Yes","Alive",47.9
+"No","Alive",36.5
+"Yes","Alive",24.3
+"No","Alive",38.8
+"No","Alive",38.4
+"No","Alive",55.3
+"No","Dead",87.7
+"Yes","Dead",56.7
+"No","Alive",74.1
+"Yes","Alive",62.3
+"No","Alive",18.5
+"Yes","Dead",59.3
+"No","Alive",39.8
+"Yes","Dead",55
+"No","Alive",42.8
+"No","Alive",34.2
+"Yes","Alive",33.7
+"No","Alive",30.6
+"No","Dead",81.7
+"Yes","Alive",62
+"No","Alive",61.3
+"Yes","Alive",58.5
+"No","Alive",41.6
+"Yes","Alive",60.6
+"No","Alive",52.9
+"Yes","Alive",34
+"No","Dead",52.4
+"No","Alive",38.5
+"No","Alive",23.7
+"Yes","Alive",38.7
+"No","Alive",49.3
+"No","Alive",59.5
+"Yes","Alive",26.2
+"Yes","Dead",65.8
+"Yes","Alive",44.3
+"No","Alive",31.9
+"No","Dead",47.9
+"Yes","Alive",57.7
+"Yes","Dead",36.5
+"Yes","Alive",36.3
+"No","Dead",56.1
+"No","Alive",21.1
+"Yes","Alive",22.7
+"No","Alive",19.7
+"Yes","Dead",60.1
+"Yes","Dead",77.6
+"No","Dead",67.6
+"No","Alive",49.3
+"Yes","Alive",37
+"No","Dead",79.9
+"No","Dead",56.3
+"Yes","Alive",20.2
+"No","Alive",31.1
+"Yes","Alive",40.9
+"Yes","Dead",35.2
+"No","Alive",24.5
+"Yes","Alive",35
+"Yes","Alive",36.3
+"Yes","Dead",34.3
+"Yes","Alive",20.5
+"Yes","Alive",29
+"Yes","Dead",74.1
+"Yes","Alive",43.6
+"Yes","Alive",33
+"Yes","Dead",42.3
+"No","Dead",63.2
+"No","Alive",53.2
+"Yes","Alive",53.7
+"No","Alive",62.7
+"Yes","Alive",39
+"Yes","Alive",39.3
+"No","Dead",47
+"No","Alive",35.8
+"No","Alive",49.4
+"No","Alive",20.7
+"No","Dead",76.7
+"Yes","Alive",31.3
+"No","Alive",20.1
+"No","Alive",56.3
+"No","Alive",51.3
+"No","Dead",85.2
+"Yes","Alive",25.2
+"Yes","Alive",20.2
+"No","Alive",58.1
+"No","Alive",49.9
+"No","Dead",79.4
+"Yes","Alive",31.6
+"No","Alive",31.6
+"No","Alive",55.4
+"No","Alive",41.6
+"No","Dead",74.6
+"No","Dead",81.3
+"No","Dead",71.4
+"Yes","Alive",56.4
+"Yes","Alive",39.7
+"Yes","Alive",59.1
+"No","Alive",20.7
+"No","Alive",89.7
+"Yes","Alive",61.8
+"Yes","Alive",26.8
+"Yes","Dead",44.3
+"Yes","Alive",36.1
+"Yes","Alive",22.1
+"No","Alive",33.5
+"Yes","Alive",44.5
+"Yes","Alive",24.1
+"No","Dead",72.5
+"Yes","Dead",57.7
+"Yes","Alive",58.7
+"Yes","Alive",40.7
+"No","Dead",75.6
+"No","Dead",74.1
+"No","Alive",37
+"Yes","Alive",31.6
+"Yes","Alive",34.7
+"Yes","Dead",38.5
+"No","Alive",22
+"Yes","Alive",39.3
+"No","Dead",61.2
+"No","Alive",37.2
+"No","Alive",25.7
+"No","Dead",88.8
+"No","Dead",65.6
+"Yes","Dead",58
+"No","Alive",20.4
+"Yes","Alive",44.4
+"No","Alive",46.2
+"No","Alive",29.7
+"Yes","Alive",51.9
+"Yes","Dead",43.7
+"Yes","Dead",61.1
+"No","Dead",78
+"No","Alive",26.8
+"No","Alive",63
+"No","Dead",82.3
+"No","Alive",32.2
+"No","Dead",57.2
+"No","Alive",36.7
+"Yes","Dead",67.5
+"No","Alive",59.2
+"No","Dead",55.6
+"No","Dead",86.2
+"Yes","Dead",79.1
+"No","Dead",75.1
+"No","Alive",52
+"No","Alive",55.3
+"Yes","Alive",40.3
+"Yes","Dead",56.9
+"Yes","Alive",53.9
+"No","Alive",26.5
+"Yes","Alive",33
+"No","Alive",19.7
+"No","Alive",23.3
+"Yes","Dead",75.9
+"Yes","Dead",35.5
+"No","Alive",31.9
+"No","Alive",34.2
+"No","Dead",76.2
+"Yes","Alive",21.7
+"Yes","Alive",50.6
+"No","Alive",25.7
+"No","Alive",24.2
+"No","Alive",42.2
+"Yes","Alive",49.2
+"Yes","Alive",33.6
+"Yes","Alive",49.5
+"Yes","Alive",61.6
+"No","Alive",23
+"No","Alive",24.3
+"No","Alive",23.6
+"No","Alive",57.1
+"Yes","Alive",32.5
+"No","Dead",83.1
+"Yes","Alive",21.8
+"Yes","Alive",43.2
+"Yes","Alive",26.6
+"Yes","Alive",45.7
+"Yes","Alive",18.1
+"Yes","Dead",45.6
+"Yes","Alive",29.7
+"Yes","Dead",73.9
+"No","Alive",56.4
+"No","Alive",55.6
+"Yes","Alive",55.1
+"No","Alive",80.8
+"Yes","Alive",29.7
+"No","Alive",25.7
+"No","Alive",52.8
+"No","Dead",81.3
+"Yes","Dead",80.5
+"Yes","Alive",34.3
+"No","Dead",59
+"No","Alive",42.5
+"No","Alive",76.9
+"Yes","Alive",33.3
+"No","Alive",20.6
+"Yes","Dead",86.8
+"No","Alive",33.1
+"No","Dead",80.2
+"Yes","Alive",30.5
+"No","Alive",31.9
+"No","Alive",19.8
+"No","Dead",84.5
+"No","Alive",56
+"No","Alive",50.3
+"No","Alive",56.8
+"Yes","Dead",60.7
+"Yes","Alive",27.6
+"Yes","Alive",32.9
+"No","Alive",56.2
+"Yes","Dead",63.4
+"No","Alive",86.9
+"No","Dead",79.9
+"No","Alive",41.5
+"Yes","Alive",45.3
+"Yes","Alive",63
+"No","Dead",77.2
+"No","Dead",69.4
+"No","Alive",49
+"No","Alive",44.7
+"Yes","Alive",27.7
+"Yes","Dead",62.3
+"No","Dead",70.7
+"No","Alive",38
+"Yes","Alive",44.3
+"No","Alive",32.3
+"Yes","Alive",56.1
+"Yes","Alive",58
+"No","Dead",82.9
+"Yes","Alive",44.4
+"No","Alive",24.9
+"Yes","Alive",63.1
+"No","Alive",35.9
+"Yes","Alive",31.1
+"No","Alive",24
+"No","Dead",88.5
+"Yes","Alive",39.5
+"No","Alive",35.6
+"No","Dead",82.4
+"No","Dead",63.8
+"No","Alive",87.4
+"No","Alive",37.2
+"No","Dead",69.5
+"No","Dead",25.3
+"Yes","Alive",59.6
+"Yes","Dead",35.7
+"Yes","Dead",56.6
+"Yes","Alive",34.5
+"Yes","Alive",58.6
+"Yes","Dead",78.2
+"Yes","Alive",48.3
+"Yes","Alive",25.4
+"Yes","Alive",74.1
+"Yes","Dead",88.7
+"No","Alive",68.4
+"No","Alive",33.4
+"No","Alive",36.5
+"No","Alive",25.5
+"Yes","Alive",21.2
+"Yes","Dead",61.8
+"Yes","Alive",38
+"No","Alive",35.1
+"No","Alive",38
+"Yes","Dead",36.2
+"Yes","Dead",87.9
+"No","Dead",76.1
+"No","Alive",59.4
+"No","Alive",18.9
+"Yes","Alive",53.3
+"Yes","Dead",82.6
+"Yes","Alive",45.3
+"No","Dead",86.3
+"Yes","Dead",63.2
+"No","Dead",88.1
+"Yes","Alive",36.1
+"No","Dead",71
+"Yes","Alive",62.1
+"Yes","Dead",55.3
+"No","Alive",52.2
+"No","Alive",25.6
+"No","Alive",33
+"No","Dead",75.3
+"Yes","Alive",21.3
+"Yes","Dead",76.9
+"No","Alive",30
+"No","Dead",77.5
+"Yes","Dead",75.2
+"No","Dead",83.9
+"Yes","Alive",53
+"No","Alive",62.4
+"Yes","Alive",43.7
+"Yes","Alive",50.9
+"No","Dead",29.8
+"Yes","Alive",32.8
+"Yes","Alive",50.7
+"Yes","Dead",66.1
+"No","Alive",33.5
+"Yes","Alive",27.2
+"No","Dead",56.2
+"Yes","Alive",38.1
+"Yes","Dead",66.8
+"Yes","Dead",55.2
+"No","Alive",51.6
+"Yes","Alive",50.9
+"No","Alive",41.4
+"No","Dead",65.4
+"No","Dead",67.7
+"No","Alive",37.8
+"Yes","Alive",42.5
+"No","Alive",23.9
+"No","Alive",60.1
+"Yes","Alive",26.6
+"Yes","Alive",23.3
+"No","Dead",75.6
+"No","Dead",72.1
+"Yes","Alive",34.8
+"No","Dead",55.3
+"Yes","Alive",28.2
+"No","Dead",79.3
+"Yes","Alive",38.5
+"Yes","Alive",41
+"No","Alive",60.7
+"No","Alive",51.8
+"Yes","Alive",25.7
+"No","Dead",62.7
+"No","Alive",23.7
+"No","Alive",23.4
+"No","Alive",56.5
+"No","Alive",28.4
+"No","Alive",42.8
+"No","Dead",83.5
+"No","Alive",36.8
+"Yes","Alive",43.8
+"Yes","Alive",59
+"No","Alive",25.5
+"No","Dead",47.2
+"Yes","Alive",23.5
+"No","Alive",19.4
+"No","Dead",68.5
+"Yes","Alive",43.4
+"No","Alive",19.5
+"Yes","Alive",62.2
+"Yes","Alive",31.1
+"No","Alive",19.2
+"No","Dead",61.9
+"No","Alive",27.6
+"Yes","Alive",30.2
+"Yes","Alive",59
+"Yes","Alive",49.2
+"No","Alive",40.3
+"Yes","Alive",45.4
+"No","Alive",29.4
+"No","Alive",36.8
+"No","Alive",29.6
+"Yes","Dead",58.6
+"No","Dead",29.3
+"No","Alive",40
+"Yes","Alive",21.7
+"Yes","Alive",40.3
+"No","Dead",81.6
+"Yes","Alive",22.9
+"Yes","Alive",42.7
+"Yes","Alive",40.4
+"No","Dead",85.7
+"Yes","Alive",32.2
+"Yes","Alive",19.3
+"Yes","Alive",24.3
+"No","Alive",55.8
+"No","Alive",28.8
+"No","Alive",55.1
+"No","Alive",31.1
+"Yes","Alive",31.8
+"No","Alive",46.7
+"Yes","Alive",36.3
+"No","Alive",23.3
+"Yes","Alive",50.7
+"Yes","Alive",40.8
+"Yes","Alive",36.9
+"Yes","Dead",81.8
+"No","Alive",55.2
+"Yes","Dead",62.4
+"No","Dead",78.4
+"Yes","Alive",18
+"No","Dead",85.7
+"Yes","Alive",43
+"Yes","Dead",88.3
+"Yes","Alive",26.2
+"Yes","Alive",52.7
+"No","Dead",81.9
+"No","Alive",44.4
+"No","Alive",71.8
+"No","Alive",35.4
+"No","Dead",71.4
+"No","Dead",55.9
+"Yes","Dead",46.6
+"No","Dead",65.6
+"No","Alive",56.2
+"No","Dead",57.9
+"Yes","Alive",43.5
+"No","Alive",22.6
+"No","Alive",27.2
+"No","Alive",27.2
+"No","Dead",20.2
+"Yes","Dead",60.2
+"Yes","Alive",55.2
+"No","Alive",39.6
+"No","Alive",24.5
+"No","Alive",36.7
+"Yes","Alive",24.2
+"No","Dead",73.3
+"No","Alive",26.6
+"No","Alive",41.7
+"No","Dead",42.6
+"No","Alive",18.6
+"Yes","Alive",31.3
+"No","Alive",51.6
+"No","Alive",19
+"No","Dead",72.6
+"No","Alive",35.7
+"No","Alive",44.1
+"No","Alive",58.3
+"Yes","Dead",65.6
+"No","Alive",62.3
+"Yes","Alive",57.4
+"No","Alive",26
+"No","Dead",85.7
+"No","Dead",47.3
+"Yes","Dead",62.1
+"Yes","Dead",66.1
+"Yes","Alive",18.5
+"Yes","Alive",24.6
+"Yes","Alive",48.3
+"Yes","Alive",28.8
+"No","Alive",52.2
+"No","Dead",85.5
+"No","Dead",58.4
+"Yes","Alive",38.1
+"Yes","Alive",27.7
+"No","Alive",42.1
+"Yes","Alive",47.9
+"No","Dead",67.4
+"No","Alive",29
+"No","Alive",29.4
+"No","Alive",21.4
+"No","Alive",41.5
+"No","Alive",74
+"No","Alive",42
+"No","Dead",68.1
+"Yes","Alive",21.5
+"No","Dead",58.5
+"No","Alive",32.8
+"Yes","Alive",37.7
+"No","Alive",55.5
+"No","Dead",78.7
+"No","Alive",31
+"Yes","Dead",51.6
+"No","Dead",66.6
+"No","Dead",40
+"Yes","Alive",52.1
+"Yes","Alive",30.4
+"No","Alive",38.1
+"Yes","Alive",23.1
+"Yes","Dead",57.9
+"Yes","Alive",25.2
+"No","Dead",76.2
+"No","Alive",63.4
+"No","Alive",21
+"Yes","Alive",45.5
+"No","Alive",46.5
+"No","Alive",48.1
+"No","Alive",32.4
+"Yes","Alive",40.1
+"No","Alive",23.4
+"Yes","Alive",62.1
+"No","Alive",45.1
+"Yes","Dead",53.6
+"No","Dead",60.6
+"No","Alive",83
+"No","Alive",55.5
+"No","Alive",41.8
+"No","Dead",40.1
+"Yes","Alive",24.4
+"Yes","Dead",62.7
+"Yes","Alive",23.7
+"No","Alive",84.9
+"Yes","Dead",50.2
+"No","Alive",40
+"Yes","Alive",27.3
+"Yes","Dead",67.2
+"Yes","Alive",48.4
+"Yes","Alive",32.7
+"No","Alive",56
+"Yes","Dead",63.4
+"No","Alive",22.5
+"No","Alive",59.8
+"Yes","Alive",22.3
+"No","Alive",38
+"No","Alive",62.3
+"Yes","Alive",43.5
+"No","Alive",47.7
+"No","Alive",34.6
+"Yes","Alive",37
+"Yes","Alive",18.7
+"Yes","Alive",35.5
+"No","Dead",62.1
+"Yes","Alive",42.5
+"Yes","Dead",61.1
+"No","Alive",45.7
+"Yes","Alive",35
+"Yes","Alive",30.3
+"Yes","Alive",27.3
+"No","Alive",43.1
+"No","Alive",20.5
+"Yes","Dead",59.7
+"Yes","Alive",35.9
+"Yes","Dead",36.9
+"No","Alive",18.8
+"No","Dead",66.4
+"Yes","Alive",27.5
+"No","Dead",67.7
+"Yes","Alive",43.6
+"No","Alive",62.2
+"No","Dead",86
+"No","Dead",85.8
+"No","Alive",29.8
+"Yes","Alive",28.7
+"Yes","Alive",61.4
+"No","Alive",73.2
+"No","Alive",57.6
+"No","Alive",29.5
+"Yes","Dead",56.5
+"Yes","Alive",19.9
+"No","Alive",55.1
+"Yes","Dead",58.9
+"No","Alive",32.6
+"No","Dead",82.5
+"No","Alive",38.4
+"Yes","Alive",47.3
+"No","Dead",76.8
+"Yes","Alive",28.8
+"No","Alive",26.4
+"No","Dead",67.5
+"Yes","Alive",40.5
+"Yes","Alive",50.8
+"No","Alive",25.8
+"Yes","Alive",52.1
+"Yes","Alive",50.2
+"No","Alive",38.5
+"No","Dead",56.1
+"Yes","Alive",29.8
+"No","Alive",58.1
+"No","Dead",87.6
+"No","Dead",69.6
+"Yes","Alive",33.5
+"No","Dead",86
+"Yes","Dead",22.6
+"No","Alive",53.3
+"No","Alive",21.9
+"No","Alive",26
+"Yes","Alive",49.4
+"Yes","Alive",18
+"No","Alive",44.1
+"No","Dead",79.1
+"Yes","Alive",38.5
+"No","Alive",26.3
+"Yes","Alive",49.4
+"No","Alive",33.9
+"No","Dead",63.2
+"No","Alive",77.1
+"No","Dead",63.8
+"Yes","Alive",37.1
+"Yes","Alive",29.6
+"Yes","Alive",22.2
+"No","Dead",83.4
+"No","Dead",61.8
+"No","Alive",32.7
+"No","Alive",32.8
+"No","Alive",24.7
+"No","Alive",60.6
+"Yes","Alive",38.2
+"No","Dead",43.7
+"Yes","Alive",29.9
+"No","Alive",50.8
+"No","Alive",19.5
+"No","Alive",55.4
+"Yes","Alive",55.1
+"No","Dead",41.9
+"Yes","Alive",30.7
+"No","Alive",27.9
+"No","Alive",26
+"No","Dead",77.8
+"No","Alive",48.3
+"Yes","Dead",42.4
+"No","Alive",20.5
+"No","Dead",77.5
+"No","Alive",58.5
+"No","Alive",44.7
+"No","Alive",28.5
+"Yes","Alive",21
+"No","Alive",50.5
+"Yes","Alive",71.5
+"No","Alive",37.8
+"No","Alive",23.1
+"Yes","Dead",44.9
+"Yes","Alive",55.6
+"Yes","Alive",20.2
+"No","Alive",48.1
+"Yes","Alive",42.8
+"Yes","Alive",44.5
+"No","Dead",85.8
+"No","Alive",44.7
+"No","Alive",87.6
+"No","Alive",27
+"No","Alive",52
+"Yes","Alive",58.7
+"No","Alive",34.3
+"Yes","Alive",19.9
+"No","Alive",19.7
+"Yes","Alive",33.8
+"No","Alive",53
+"Yes","Alive",20.7
+"Yes","Alive",59.4
+"Yes","Alive",44.4
+"Yes","Alive",20.4
+"No","Dead",69
+"Yes","Alive",60.5
+"No","Alive",44
+"Yes","Alive",33.1
+"No","Alive",42.2
+"No","Alive",50.5
+"No","Alive",30.5
+"Yes","Alive",26.6
+"Yes","Alive",21
+"Yes","Alive",36.6
+"Yes","Alive",28.9
+"No","Alive",47.8
+"No","Dead",73.3
+"No","Alive",49.6
+"No","Alive",44.8
+"Yes","Alive",38.6
+"No","Dead",79.9
+"Yes","Dead",84.4
+"No","Dead",39.1
+"Yes","Alive",47.4
+"No","Alive",57.8
+"No","Alive",41.5
+"No","Alive",20.3
+"Yes","Alive",38.1
+"Yes","Alive",44.6
+"Yes","Alive",39.3
+"Yes","Alive",18.1
+"No","Alive",51.5
+"No","Alive",23.1
+"No","Alive",22.7
+"Yes","Alive",36.8
+"No","Alive",57.4
+"Yes","Alive",57.1
+"No","Alive",19.2
+"No","Dead",84.8
+"No","Alive",26.9
+"No","Dead",88.4
+"No","Dead",77.4
+"No","Dead",41.3
+"No","Alive",53.4
+"Yes","Alive",58.9
+"Yes","Dead",38.8
+"No","Dead",82.2
+"No","Alive",46.9
+"Yes","Alive",24.6
+"Yes","Alive",30.4
+"No","Alive",42.4
+"No","Dead",64
+"No","Alive",33.3
+"Yes","Alive",60.2
+"Yes","Alive",25
+"Yes","Dead",37.1
+"Yes","Alive",47.7
+"No","Dead",66.5
+"Yes","Dead",43.3
+"No","Alive",19.1
+"No","Alive",52.4
+"No","Alive",33.9
+"No","Alive",40
+"No","Alive",29.9
+"Yes","Alive",58.4
+"Yes","Alive",48.7
+"Yes","Alive",52.3
+"No","Dead",59.9
+"No","Alive",63.5
+"Yes","Alive",48.3
+"Yes","Alive",51.1
+"Yes","Dead",34.5
+"Yes","Alive",37.5
+"Yes","Alive",73.8
+"Yes","Alive",24.6
+"No","Dead",65.3
+"No","Alive",34.2
+"No","Alive",71.8
+"No","Dead",47.5
+"No","Alive",31.3
+"Yes","Dead",28.3
+"Yes","Dead",61.9
+"Yes","Dead",74.8
+"Yes","Alive",51
+"Yes","Dead",42.5
+"Yes","Alive",38.1
+"No","Alive",47.4
+"No","Alive",32.1
+"No","Dead",86.2
+"Yes","Alive",55.7
+"Yes","Alive",43.6
+"Yes","Dead",58.2
+"No","Alive",25.1
+"No","Dead",75
+"No","Alive",23.2
+"No","Alive",20.6
+"No","Dead",66.4
+"Yes","Alive",44
+"Yes","Alive",19.4
+"Yes","Dead",61
+"Yes","Alive",29.5
+"No","Alive",22.5
+"No","Alive",60
+"Yes","Alive",84.7
+"No","Dead",85.1
+"Yes","Dead",82
+"Yes","Alive",33.4
+"No","Alive",21.3
+"No","Dead",65.2
+"Yes","Dead",83.6
+"Yes","Alive",52.4
+"Yes","Alive",38.9
+"No","Alive",32.9
+"Yes","Alive",53.6
+"No","Alive",35.7
+"Yes","Alive",19.8
+"No","Dead",65.7
+"No","Alive",40.6
+"Yes","Alive",25.7
+"Yes","Dead",44.3
+"No","Alive",68.4
+"No","Alive",33.7
+"No","Alive",26.5
+"Yes","Alive",43.6
+"Yes","Dead",32.6
+"No","Alive",21
+"No","Alive",25.2
+"No","Dead",81.4
+"No","Dead",50.2
+"No","Alive",85
+"No","Alive",45.9
+"Yes","Dead",56.5
+"No","Alive",33.4
+"Yes","Alive",61.1
+"No","Alive",35.1
+"No","Alive",22.7
+"Yes","Alive",40.4
+"No","Alive",48.6
+"No","Dead",82.9
+"No","Dead",78.1
+"No","Alive",36.9
+"Yes","Alive",61.8
+"Yes","Alive",29.5
+"No","Alive",38.9
+"No","Dead",71.3
+"No","Alive",36.5
+"No","Dead",81.8
+"No","Alive",21.7
+"Yes","Dead",78.3
+"Yes","Alive",30.5
+"No","Alive",61.5
+"Yes","Alive",33.1
+"No","Alive",32.2
+"No","Alive",48.5
+"No","Alive",20.3
+"No","Alive",62.6
+"No","Alive",28.5
+"Yes","Alive",52.4
+"Yes","Dead",55.7
+"No","Alive",53.8
+"No","Alive",20.7
+"Yes","Alive",33.4
+"No","Alive",43.8
+"Yes","Alive",53.1
+"Yes","Alive",51.5
+"No","Alive",31.8
+"No","Dead",73.2
+"Yes","Alive",41.1
+"No","Dead",82
+"Yes","Alive",27
+"Yes","Alive",44.3
+"Yes","Dead",42.9
+"Yes","Dead",56.1
+"No","Dead",60.2
+"Yes","Alive",55.8
+"Yes","Alive",29.1
+"No","Alive",49.4
+"Yes","Dead",44.9
+"No","Dead",80.9
+"No","Alive",25.8
+"No","Alive",31.5
+"No","Dead",82.6
+"No","Alive",27.3
+"No","Alive",18.8
+"No","Alive",33.2
+"No","Alive",29.7
+"Yes","Dead",52.6
+"No","Dead",81.1
+"Yes","Dead",88.6
+"No","Alive",35
+"No","Dead",75.2
+"Yes","Alive",37.3
+"Yes","Alive",52.1
+"No","Dead",84.7
+"No","Dead",85
+"No","Alive",27
+"No","Dead",85
+"No","Alive",20.2
+"No","Alive",46.3
+"Yes","Alive",60
+"No","Dead",63.5
+"Yes","Dead",84.3
+"No","Alive",66.4
+"Yes","Alive",30.2
+"Yes","Alive",23.1
+"No","Alive",61.5
+"No","Alive",40.7
+"Yes","Alive",27.1
+"Yes","Alive",36.7
+"No","Alive",58.2
+"Yes","Alive",29.7
+"No","Alive",48.9
+"No","Alive",52.9
+"No","Alive",41.7
+"No","Alive",23
+"No","Alive",18.3
+"No","Dead",89.9
+"No","Alive",60.6
+"No","Alive",30.1
+"Yes","Alive",41.9
+"Yes","Alive",47
+"No","Alive",23.8
+"Yes","Dead",31.3
+"Yes","Dead",63.3
+"No","Alive",52.4
+"No","Alive",65
+"No","Dead",74.8
+"No","Alive",32.9
+"Yes","Dead",49.6
+"No","Alive",59.9
+"No","Alive",30.8
+"No","Alive",30.1
+"No","Alive",52
+"Yes","Alive",57.2
+"No","Dead",89.5
+"Yes","Alive",32.5
+"No","Alive",19.1
+"Yes","Alive",44
+"Yes","Dead",39.2
+"No","Alive",22.9
+"Yes","Alive",18
+"No","Alive",20.1
+"Yes","Alive",28
+"No","Alive",53
+"Yes","Alive",46.7
+"No","Alive",44.6
+"No","Alive",18.7
+"No","Dead",71.1
+"Yes","Alive",42.3
+"No","Alive",64
+"Yes","Dead",71
+"Yes","Alive",26.6
+"Yes","Alive",50.8
+"No","Alive",25.5
+"Yes","Alive",24
+"No","Alive",48.1
+"Yes","Alive",50.6
+"Yes","Alive",21.5
+"No","Alive",61.2
+"No","Dead",75.9
+"No","Dead",88
+"No","Dead",66.8
+"No","Alive",50.8
+"No","Alive",34.9
+"No","Dead",83.8
+"No","Alive",25
+"Yes","Dead",41.7
+"No","Alive",42.3
+"No","Alive",62.4
+"Yes","Alive",38.1
+"Yes","Alive",23.3
+"Yes","Alive",25.6
+"No","Dead",51.1
+"Yes","Alive",21.2
+"No","Dead",56.9
+"No","Alive",35
+"Yes","Dead",45
+"Yes","Alive",25.2
+"Yes","Alive",43.7
+"No","Dead",86.7
+"No","Alive",20.2
+"No","Dead",71.6
+"No","Dead",78.3
+"No","Alive",23.1
+"No","Dead",84.8
+"Yes","Alive",58.1
+"Yes","Alive",53.9
+"No","Alive",53.3
+"No","Alive",30.9
+"Yes","Alive",60.6
+"Yes","Dead",85.2
+"No","Alive",57.5
+"No","Alive",46.5
+"No","Dead",73.8
+"No","Alive",62.6
+"No","Alive",43.5
+"No","Alive",52.5
+"Yes","Alive",34.1
+"No","Alive",38.7
+"No","Alive",22.6
+"No","Alive",20
+"No","Alive",59.9
+"No","Dead",83.3
+"Yes","Alive",52.2
+"No","Dead",76.2
+"Yes","Alive",28
+"Yes","Alive",56.6
+"No","Dead",67.8
+"No","Alive",21.2
+"No","Alive",27.9
+"Yes","Alive",29.8
+"Yes","Alive",28.1
+"Yes","Alive",53.2
+"No","Alive",23.2
+"No","Alive",39.5
+"Yes","Alive",31.4
+"Yes","Alive",30
+"Yes","Alive",37.8
+"Yes","Alive",46.9
+"Yes","Alive",43.8
+"Yes","Alive",63.1
+"No","Alive",21.4
+"No","Dead",62.5
+"No","Alive",45.5
+"Yes","Alive",27.9
+"Yes","Alive",29.5
+"Yes","Alive",61
+"Yes","Alive",27
+"Yes","Alive",61.5
+"Yes","Dead",56.2
+"Yes","Dead",87.9
+"Yes","Alive",28.3
+"No","Dead",75.1
+"No","Dead",87.9
+"Yes","Alive",31
+"Yes","Alive",55.3
+"No","Alive",40.8
+"Yes","Alive",46.2
+"No","Alive",52.3
+"Yes","Alive",51.9
+"No","Alive",28.3
+"Yes","Alive",44.4
+"Yes","Dead",63.3
+"Yes","Alive",41
+"Yes","Alive",50.2
+"No","Alive",55.4
+"No","Dead",43.3
+"No","Alive",60.1
+"Yes","Alive",29.7
+"No","Dead",79
+"No","Dead",65.1
+"Yes","Alive",40.1
+"No","Alive",46
+"No","Alive",40.2
+"No","Dead",89.2
+"No","Alive",26
+"No","Alive",43.4
+"No","Alive",48.8
+"No","Alive",19.8
+"Yes","Alive",27.8
+"Yes","Alive",52.4
+"Yes","Alive",27.8
+"Yes","Alive",41
+"No","Dead",28.5
+"No","Alive",26.7
+"No","Alive",36
+"No","Dead",74.4
+"Yes","Alive",40.8
+"Yes","Alive",20.4
+"No","Dead",42.1
+"No","Alive",41.2
+"Yes","Alive",20.9
+"Yes","Alive",45.5
+"No","Alive",26.7
+"No","Alive",41.8
+"No","Alive",33.7
+"No","Alive",56.5
+"Yes","Alive",38.8
+"Yes","Alive",55.5
+"Yes","Alive",24.9
+"No","Alive",33
+"Yes","Alive",55.7
+"No","Alive",25.7
+"No","Alive",19.5
+"Yes","Alive",58.5
+"No","Alive",23.4
+"Yes","Alive",43.7
+"No","Alive",34.4
+"No","Dead",83.9
+"No","Alive",34.9
+"Yes","Alive",51.2
+"No","Dead",86.3
+"Yes","Dead",36
+"Yes","Alive",48.3
+"No","Alive",63.1
+"No","Alive",60.8
+"Yes","Dead",39.3
+"No","Alive",36.7
+"No","Alive",63.8
+"No","Dead",71.3
+"No","Alive",57.7
+"No","Alive",63.2
+"No","Alive",46.6
+"Yes","Dead",82.4
+"Yes","Alive",38.3
+"Yes","Alive",32.7
+"No","Alive",39.7
+"Yes","Dead",60
+"No","Dead",71
+"No","Alive",20.5
+"No","Alive",44.4
+"Yes","Alive",31.2
+"Yes","Alive",47.8
+"Yes","Alive",60.9
+"No","Dead",61.4
+"Yes","Alive",43
+"No","Alive",42.1
+"Yes","Alive",35.9
+"No","Alive",22.3
+"Yes","Dead",62.1
+"No","Dead",88.6
+"No","Alive",39.1
diff --git a/module3/exo3/exercice.ipynb b/module3/exo3/exercice.ipynb
index 0bbbe371b01e359e381e43239412d77bf53fb1fb..abb3a7c4699d6da403f8985b0af29af8e6a82243 100644
--- a/module3/exo3/exercice.ipynb
+++ b/module3/exo3/exercice.ipynb
@@ -1,5 +1,1492 @@
{
- "cells": [],
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Analyse paradoxe de Simpson"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%matplotlib inline\n",
+ "import matplotlib.pyplot as plt\n",
+ "import pandas as pd\n",
+ "import isoweek\n",
+ "import csv"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Importation données"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "data_url = \"https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/-/raw/master/module3/Practical_session/Subject6_smoking.csv?inline=false\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Pour nous protéger contre une éventuelle disparition ou modification du serveur du Réseau Sentinelles, nous faisons une copie locale de ce jeux de données que nous préservons avec notre analyse. Nous téléchargeons les données seulement si la copie locale n'existe pas."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "data_file = \"donnees-Simpson.csv\"\n",
+ "\n",
+ "import os\n",
+ "import urllib.request\n",
+ "if not os.path.exists(data_file):\n",
+ " urllib.request.urlretrieve(data_url, data_file)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Smoker | \n",
+ " Status | \n",
+ " Age | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 21.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 19.3 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 57.5 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 47.1 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 81.4 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 36.8 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 23.8 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " Yes | \n",
+ " Dead | \n",
+ " 57.5 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 24.8 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 49.5 | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 30.0 | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 66.0 | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 49.2 | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 58.4 | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 60.6 | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 25.1 | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 43.5 | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 27.1 | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 58.3 | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 65.7 | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 73.2 | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 38.3 | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 33.4 | \n",
+ "
\n",
+ " \n",
+ " | 23 | \n",
+ " Yes | \n",
+ " Dead | \n",
+ " 62.3 | \n",
+ "
\n",
+ " \n",
+ " | 24 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 18.0 | \n",
+ "
\n",
+ " \n",
+ " | 25 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 56.2 | \n",
+ "
\n",
+ " \n",
+ " | 26 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 59.2 | \n",
+ "
\n",
+ " \n",
+ " | 27 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 25.8 | \n",
+ "
\n",
+ " \n",
+ " | 28 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 36.9 | \n",
+ "
\n",
+ " \n",
+ " | 29 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 20.2 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 1284 | \n",
+ " Yes | \n",
+ " Dead | \n",
+ " 36.0 | \n",
+ "
\n",
+ " \n",
+ " | 1285 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 48.3 | \n",
+ "
\n",
+ " \n",
+ " | 1286 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 63.1 | \n",
+ "
\n",
+ " \n",
+ " | 1287 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 60.8 | \n",
+ "
\n",
+ " \n",
+ " | 1288 | \n",
+ " Yes | \n",
+ " Dead | \n",
+ " 39.3 | \n",
+ "
\n",
+ " \n",
+ " | 1289 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 36.7 | \n",
+ "
\n",
+ " \n",
+ " | 1290 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 63.8 | \n",
+ "
\n",
+ " \n",
+ " | 1291 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 71.3 | \n",
+ "
\n",
+ " \n",
+ " | 1292 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 57.7 | \n",
+ "
\n",
+ " \n",
+ " | 1293 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 63.2 | \n",
+ "
\n",
+ " \n",
+ " | 1294 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 46.6 | \n",
+ "
\n",
+ " \n",
+ " | 1295 | \n",
+ " Yes | \n",
+ " Dead | \n",
+ " 82.4 | \n",
+ "
\n",
+ " \n",
+ " | 1296 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 38.3 | \n",
+ "
\n",
+ " \n",
+ " | 1297 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 32.7 | \n",
+ "
\n",
+ " \n",
+ " | 1298 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 39.7 | \n",
+ "
\n",
+ " \n",
+ " | 1299 | \n",
+ " Yes | \n",
+ " Dead | \n",
+ " 60.0 | \n",
+ "
\n",
+ " \n",
+ " | 1300 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 71.0 | \n",
+ "
\n",
+ " \n",
+ " | 1301 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 20.5 | \n",
+ "
\n",
+ " \n",
+ " | 1302 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 44.4 | \n",
+ "
\n",
+ " \n",
+ " | 1303 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 31.2 | \n",
+ "
\n",
+ " \n",
+ " | 1304 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 47.8 | \n",
+ "
\n",
+ " \n",
+ " | 1305 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 60.9 | \n",
+ "
\n",
+ " \n",
+ " | 1306 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 61.4 | \n",
+ "
\n",
+ " \n",
+ " | 1307 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 43.0 | \n",
+ "
\n",
+ " \n",
+ " | 1308 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 42.1 | \n",
+ "
\n",
+ " \n",
+ " | 1309 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 35.9 | \n",
+ "
\n",
+ " \n",
+ " | 1310 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 22.3 | \n",
+ "
\n",
+ " \n",
+ " | 1311 | \n",
+ " Yes | \n",
+ " Dead | \n",
+ " 62.1 | \n",
+ "
\n",
+ " \n",
+ " | 1312 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 88.6 | \n",
+ "
\n",
+ " \n",
+ " | 1313 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 39.1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
1314 rows × 3 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Smoker Status Age\n",
+ "0 Yes Alive 21.0\n",
+ "1 Yes Alive 19.3\n",
+ "2 No Dead 57.5\n",
+ "3 No Alive 47.1\n",
+ "4 Yes Alive 81.4\n",
+ "5 No Alive 36.8\n",
+ "6 No Alive 23.8\n",
+ "7 Yes Dead 57.5\n",
+ "8 Yes Alive 24.8\n",
+ "9 Yes Alive 49.5\n",
+ "10 Yes Alive 30.0\n",
+ "11 No Dead 66.0\n",
+ "12 Yes Alive 49.2\n",
+ "13 No Alive 58.4\n",
+ "14 No Dead 60.6\n",
+ "15 No Alive 25.1\n",
+ "16 No Alive 43.5\n",
+ "17 No Alive 27.1\n",
+ "18 No Alive 58.3\n",
+ "19 Yes Alive 65.7\n",
+ "20 No Dead 73.2\n",
+ "21 Yes Alive 38.3\n",
+ "22 No Alive 33.4\n",
+ "23 Yes Dead 62.3\n",
+ "24 No Alive 18.0\n",
+ "25 No Alive 56.2\n",
+ "26 Yes Alive 59.2\n",
+ "27 No Alive 25.8\n",
+ "28 No Dead 36.9\n",
+ "29 No Alive 20.2\n",
+ "... ... ... ...\n",
+ "1284 Yes Dead 36.0\n",
+ "1285 Yes Alive 48.3\n",
+ "1286 No Alive 63.1\n",
+ "1287 No Alive 60.8\n",
+ "1288 Yes Dead 39.3\n",
+ "1289 No Alive 36.7\n",
+ "1290 No Alive 63.8\n",
+ "1291 No Dead 71.3\n",
+ "1292 No Alive 57.7\n",
+ "1293 No Alive 63.2\n",
+ "1294 No Alive 46.6\n",
+ "1295 Yes Dead 82.4\n",
+ "1296 Yes Alive 38.3\n",
+ "1297 Yes Alive 32.7\n",
+ "1298 No Alive 39.7\n",
+ "1299 Yes Dead 60.0\n",
+ "1300 No Dead 71.0\n",
+ "1301 No Alive 20.5\n",
+ "1302 No Alive 44.4\n",
+ "1303 Yes Alive 31.2\n",
+ "1304 Yes Alive 47.8\n",
+ "1305 Yes Alive 60.9\n",
+ "1306 No Dead 61.4\n",
+ "1307 Yes Alive 43.0\n",
+ "1308 No Alive 42.1\n",
+ "1309 Yes Alive 35.9\n",
+ "1310 No Alive 22.3\n",
+ "1311 Yes Dead 62.1\n",
+ "1312 No Dead 88.6\n",
+ "1313 No Alive 39.1\n",
+ "\n",
+ "[1314 rows x 3 columns]"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "raw_data = pd.read_csv(data_file)\n",
+ "raw_data"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "On cherche s'il y a des donnees vides, et on les supprime s'il y en a"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Smoker | \n",
+ " Status | \n",
+ " Age | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 21.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 19.3 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 57.5 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 47.1 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 81.4 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 36.8 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 23.8 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " Yes | \n",
+ " Dead | \n",
+ " 57.5 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 24.8 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 49.5 | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 30.0 | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 66.0 | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 49.2 | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 58.4 | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 60.6 | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 25.1 | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 43.5 | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 27.1 | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 58.3 | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 65.7 | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 73.2 | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 38.3 | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 33.4 | \n",
+ "
\n",
+ " \n",
+ " | 23 | \n",
+ " Yes | \n",
+ " Dead | \n",
+ " 62.3 | \n",
+ "
\n",
+ " \n",
+ " | 24 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 18.0 | \n",
+ "
\n",
+ " \n",
+ " | 25 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 56.2 | \n",
+ "
\n",
+ " \n",
+ " | 26 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 59.2 | \n",
+ "
\n",
+ " \n",
+ " | 27 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 25.8 | \n",
+ "
\n",
+ " \n",
+ " | 28 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 36.9 | \n",
+ "
\n",
+ " \n",
+ " | 29 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 20.2 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 1284 | \n",
+ " Yes | \n",
+ " Dead | \n",
+ " 36.0 | \n",
+ "
\n",
+ " \n",
+ " | 1285 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 48.3 | \n",
+ "
\n",
+ " \n",
+ " | 1286 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 63.1 | \n",
+ "
\n",
+ " \n",
+ " | 1287 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 60.8 | \n",
+ "
\n",
+ " \n",
+ " | 1288 | \n",
+ " Yes | \n",
+ " Dead | \n",
+ " 39.3 | \n",
+ "
\n",
+ " \n",
+ " | 1289 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 36.7 | \n",
+ "
\n",
+ " \n",
+ " | 1290 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 63.8 | \n",
+ "
\n",
+ " \n",
+ " | 1291 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 71.3 | \n",
+ "
\n",
+ " \n",
+ " | 1292 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 57.7 | \n",
+ "
\n",
+ " \n",
+ " | 1293 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 63.2 | \n",
+ "
\n",
+ " \n",
+ " | 1294 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 46.6 | \n",
+ "
\n",
+ " \n",
+ " | 1295 | \n",
+ " Yes | \n",
+ " Dead | \n",
+ " 82.4 | \n",
+ "
\n",
+ " \n",
+ " | 1296 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 38.3 | \n",
+ "
\n",
+ " \n",
+ " | 1297 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 32.7 | \n",
+ "
\n",
+ " \n",
+ " | 1298 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 39.7 | \n",
+ "
\n",
+ " \n",
+ " | 1299 | \n",
+ " Yes | \n",
+ " Dead | \n",
+ " 60.0 | \n",
+ "
\n",
+ " \n",
+ " | 1300 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 71.0 | \n",
+ "
\n",
+ " \n",
+ " | 1301 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 20.5 | \n",
+ "
\n",
+ " \n",
+ " | 1302 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 44.4 | \n",
+ "
\n",
+ " \n",
+ " | 1303 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 31.2 | \n",
+ "
\n",
+ " \n",
+ " | 1304 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 47.8 | \n",
+ "
\n",
+ " \n",
+ " | 1305 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 60.9 | \n",
+ "
\n",
+ " \n",
+ " | 1306 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 61.4 | \n",
+ "
\n",
+ " \n",
+ " | 1307 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 43.0 | \n",
+ "
\n",
+ " \n",
+ " | 1308 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 42.1 | \n",
+ "
\n",
+ " \n",
+ " | 1309 | \n",
+ " Yes | \n",
+ " Alive | \n",
+ " 35.9 | \n",
+ "
\n",
+ " \n",
+ " | 1310 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 22.3 | \n",
+ "
\n",
+ " \n",
+ " | 1311 | \n",
+ " Yes | \n",
+ " Dead | \n",
+ " 62.1 | \n",
+ "
\n",
+ " \n",
+ " | 1312 | \n",
+ " No | \n",
+ " Dead | \n",
+ " 88.6 | \n",
+ "
\n",
+ " \n",
+ " | 1313 | \n",
+ " No | \n",
+ " Alive | \n",
+ " 39.1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
1314 rows × 3 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Smoker Status Age\n",
+ "0 Yes Alive 21.0\n",
+ "1 Yes Alive 19.3\n",
+ "2 No Dead 57.5\n",
+ "3 No Alive 47.1\n",
+ "4 Yes Alive 81.4\n",
+ "5 No Alive 36.8\n",
+ "6 No Alive 23.8\n",
+ "7 Yes Dead 57.5\n",
+ "8 Yes Alive 24.8\n",
+ "9 Yes Alive 49.5\n",
+ "10 Yes Alive 30.0\n",
+ "11 No Dead 66.0\n",
+ "12 Yes Alive 49.2\n",
+ "13 No Alive 58.4\n",
+ "14 No Dead 60.6\n",
+ "15 No Alive 25.1\n",
+ "16 No Alive 43.5\n",
+ "17 No Alive 27.1\n",
+ "18 No Alive 58.3\n",
+ "19 Yes Alive 65.7\n",
+ "20 No Dead 73.2\n",
+ "21 Yes Alive 38.3\n",
+ "22 No Alive 33.4\n",
+ "23 Yes Dead 62.3\n",
+ "24 No Alive 18.0\n",
+ "25 No Alive 56.2\n",
+ "26 Yes Alive 59.2\n",
+ "27 No Alive 25.8\n",
+ "28 No Dead 36.9\n",
+ "29 No Alive 20.2\n",
+ "... ... ... ...\n",
+ "1284 Yes Dead 36.0\n",
+ "1285 Yes Alive 48.3\n",
+ "1286 No Alive 63.1\n",
+ "1287 No Alive 60.8\n",
+ "1288 Yes Dead 39.3\n",
+ "1289 No Alive 36.7\n",
+ "1290 No Alive 63.8\n",
+ "1291 No Dead 71.3\n",
+ "1292 No Alive 57.7\n",
+ "1293 No Alive 63.2\n",
+ "1294 No Alive 46.6\n",
+ "1295 Yes Dead 82.4\n",
+ "1296 Yes Alive 38.3\n",
+ "1297 Yes Alive 32.7\n",
+ "1298 No Alive 39.7\n",
+ "1299 Yes Dead 60.0\n",
+ "1300 No Dead 71.0\n",
+ "1301 No Alive 20.5\n",
+ "1302 No Alive 44.4\n",
+ "1303 Yes Alive 31.2\n",
+ "1304 Yes Alive 47.8\n",
+ "1305 Yes Alive 60.9\n",
+ "1306 No Dead 61.4\n",
+ "1307 Yes Alive 43.0\n",
+ "1308 No Alive 42.1\n",
+ "1309 Yes Alive 35.9\n",
+ "1310 No Alive 22.3\n",
+ "1311 Yes Dead 62.1\n",
+ "1312 No Dead 88.6\n",
+ "1313 No Alive 39.1\n",
+ "\n",
+ "[1314 rows x 3 columns]"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "raw_data[raw_data.isnull().any(axis=1)]\n",
+ "data = raw_data.dropna().copy()\n",
+ "data"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Premiere analyse"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Il n y a pas de ligne vide. On peut commencer l analyse en calculant le nombre de fumeurs vivants ou morts, ainsi que le nombre de non-fumeurs vivants ou morts."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "smoker_alive = 0\n",
+ "smoker_dead = 0\n",
+ "no_smoker_alive = 0\n",
+ "no_smoker_dead = 0\n",
+ "for it in range(len(data)):\n",
+ " if(data[\"Smoker\"][it]==\"Yes\" and data[\"Status\"][it]==\"Alive\"):\n",
+ " smoker_alive = smoker_alive + 1\n",
+ " if(data[\"Smoker\"][it]==\"Yes\" and data[\"Status\"][it]==\"Dead\"):\n",
+ " smoker_dead = smoker_dead + 1\n",
+ " if(data[\"Smoker\"][it]==\"No\" and data[\"Status\"][it]==\"Alive\"):\n",
+ " no_smoker_alive = no_smoker_alive + 1\n",
+ " if(data[\"Smoker\"][it]==\"No\" and data[\"Status\"][it]==\"Dead\"):\n",
+ " no_smoker_dead = no_smoker_dead + 1"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "On met en forme ces donnees dans un tableau"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " - | \n",
+ " Non Smoker | \n",
+ " Smoker | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Alive | \n",
+ " 502 | \n",
+ " 443 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Dead | \n",
+ " 230 | \n",
+ " 139 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " - Non Smoker Smoker\n",
+ "0 Alive 502 443\n",
+ "1 Dead 230 139"
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tableau = [ { \"-\":\"Alive\", \"Smoker\":smoker_alive, \"Non Smoker\":no_smoker_alive },\n",
+ " { \"-\":\"Dead\", \"Smoker\":smoker_dead, \"Non Smoker\":no_smoker_dead },]\n",
+ "df = pd.DataFrame(tableau)\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Calcul du taux de mortalité des deux groupes (Fumeurs et Non Fumeurs) et on ajout à notre tableau"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " - | \n",
+ " Non Smoker | \n",
+ " Smoker | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Alive | \n",
+ " 502 | \n",
+ " 443 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Dead | \n",
+ " 230 | \n",
+ " 139 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Mortality (%) | \n",
+ " 31 | \n",
+ " 23 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " - Non Smoker Smoker\n",
+ "0 Alive 502 443\n",
+ "1 Dead 230 139\n",
+ "2 Mortality (%) 31 23"
+ ]
+ },
+ "execution_count": 25,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "smoker_mortality_rate = int(100*smoker_dead/(smoker_alive+smoker_dead))\n",
+ "no_smoker_mortality_rate = int(100*no_smoker_dead/(no_smoker_alive+no_smoker_dead))\n",
+ "\n",
+ "tableau = [ { \"-\":\"Alive\", \"Smoker\":smoker_alive, \"Non Smoker\":no_smoker_alive },\n",
+ " { \"-\":\"Dead\", \"Smoker\":smoker_dead, \"Non Smoker\":no_smoker_dead }, \n",
+ " { \"-\":\"Mortality (%)\", \"Smoker\":smoker_mortality_rate, \"Non Smoker\":no_smoker_mortality_rate }]\n",
+ "df = pd.DataFrame(tableau)\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Ce resultat est surprenant, on voit que le taux de mortalité est plus élevé chez les personnes déclarées comme \"Non-Fumeurs\".\n",
+ "On s'attendrait à voir le résultat inverse."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Deuxieme analyse"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "On fait une seconde analyse, en séparant les données par classe d'age. 4 classes d'age sont ainsi définies : 18-34 ans, 35-54 ans, 55-64 ans, plus de 65 ans."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "smoker_alive_18_34 = 0\n",
+ "smoker_dead_18_34 = 0\n",
+ "no_smoker_alive_18_34 = 0\n",
+ "no_smoker_dead_18_34 = 0\n",
+ "\n",
+ "smoker_alive_35_54 = 0\n",
+ "smoker_dead_35_54 = 0\n",
+ "no_smoker_alive_35_54 = 0\n",
+ "no_smoker_dead_35_54 = 0\n",
+ "\n",
+ "smoker_alive_55_64 = 0\n",
+ "smoker_dead_55_64 = 0\n",
+ "no_smoker_alive_55_64 = 0\n",
+ "no_smoker_dead_55_64 = 0\n",
+ "\n",
+ "smoker_alive_65 = 0\n",
+ "smoker_dead_65 = 0\n",
+ "no_smoker_alive_65 = 0\n",
+ "no_smoker_dead_65 = 0\n",
+ "\n",
+ "for it in range(len(data)):\n",
+ " if(data[\"Age\"][it]<=34):\n",
+ " if(data[\"Smoker\"][it]==\"Yes\" and data[\"Status\"][it]==\"Alive\"):\n",
+ " smoker_alive_18_34 = smoker_alive_18_34 + 1\n",
+ " if(data[\"Smoker\"][it]==\"Yes\" and data[\"Status\"][it]==\"Dead\"):\n",
+ " smoker_dead_18_34 = smoker_dead_18_34 + 1\n",
+ " if(data[\"Smoker\"][it]==\"No\" and data[\"Status\"][it]==\"Alive\"):\n",
+ " no_smoker_alive_18_34 = no_smoker_alive_18_34 + 1\n",
+ " if(data[\"Smoker\"][it]==\"No\" and data[\"Status\"][it]==\"Dead\"):\n",
+ " no_smoker_dead_18_34 = no_smoker_dead_18_34 + 1\n",
+ " \n",
+ " if(data[\"Age\"][it]>34 and data[\"Age\"][it]<=54):\n",
+ " if(data[\"Smoker\"][it]==\"Yes\" and data[\"Status\"][it]==\"Alive\"):\n",
+ " smoker_alive_35_54 = smoker_alive_35_54 + 1\n",
+ " if(data[\"Smoker\"][it]==\"Yes\" and data[\"Status\"][it]==\"Dead\"):\n",
+ " smoker_dead_35_54 = smoker_dead_35_54 + 1\n",
+ " if(data[\"Smoker\"][it]==\"No\" and data[\"Status\"][it]==\"Alive\"):\n",
+ " no_smoker_alive_35_54 = no_smoker_alive_35_54 + 1\n",
+ " if(data[\"Smoker\"][it]==\"No\" and data[\"Status\"][it]==\"Dead\"):\n",
+ " no_smoker_dead_35_54 = no_smoker_dead_35_54 + 1\n",
+ " \n",
+ " if(data[\"Age\"][it]>54 and data[\"Age\"][it]<=64):\n",
+ " if(data[\"Smoker\"][it]==\"Yes\" and data[\"Status\"][it]==\"Alive\"):\n",
+ " smoker_alive_55_64 = smoker_alive_55_64 + 1\n",
+ " if(data[\"Smoker\"][it]==\"Yes\" and data[\"Status\"][it]==\"Dead\"):\n",
+ " smoker_dead_55_64 = smoker_dead_55_64 + 1\n",
+ " if(data[\"Smoker\"][it]==\"No\" and data[\"Status\"][it]==\"Alive\"):\n",
+ " no_smoker_alive_55_64 = no_smoker_alive_55_64 + 1\n",
+ " if(data[\"Smoker\"][it]==\"No\" and data[\"Status\"][it]==\"Dead\"):\n",
+ " no_smoker_dead_55_64 = no_smoker_dead_55_64 + 1\n",
+ " \n",
+ " if(data[\"Age\"][it]>64):\n",
+ " if(data[\"Smoker\"][it]==\"Yes\" and data[\"Status\"][it]==\"Alive\"):\n",
+ " smoker_alive_65 = smoker_alive_65 + 1\n",
+ " if(data[\"Smoker\"][it]==\"Yes\" and data[\"Status\"][it]==\"Dead\"):\n",
+ " smoker_dead_65 = smoker_dead_65 + 1\n",
+ " if(data[\"Smoker\"][it]==\"No\" and data[\"Status\"][it]==\"Alive\"):\n",
+ " no_smoker_alive_65 = no_smoker_alive_65 + 1\n",
+ " if(data[\"Smoker\"][it]==\"No\" and data[\"Status\"][it]==\"Dead\"):\n",
+ " no_smoker_dead_65 = no_smoker_dead_65 + 1\n",
+ "\n",
+ "smoker_18_34_mortality_rate = int(100*smoker_dead_18_34/(smoker_alive_18_34+smoker_dead_18_34))\n",
+ "no_smoker_18_34_mortality_rate = int(100*no_smoker_dead_18_34/(no_smoker_alive_18_34+no_smoker_dead_18_34))\n",
+ "\n",
+ "smoker_35_54_mortality_rate = int(100*smoker_dead_35_54/(smoker_alive_35_54+smoker_dead_35_54))\n",
+ "no_smoker_35_54_mortality_rate = int(100*no_smoker_dead_35_54/(no_smoker_alive_35_54+no_smoker_dead_35_54))\n",
+ "\n",
+ "smoker_55_64_mortality_rate = int(100*smoker_dead_55_64/(smoker_alive_55_64+smoker_dead_55_64))\n",
+ "no_smoker_55_64_mortality_rate = int(100*no_smoker_dead_55_64/(no_smoker_alive_55_64+no_smoker_dead_55_64))\n",
+ "\n",
+ "smoker_65_mortality_rate = int(100*smoker_dead_65/(smoker_alive_65+smoker_dead_65))\n",
+ "no_smoker_65_mortality_rate = int(100*no_smoker_dead_65/(no_smoker_alive_65+no_smoker_dead_65))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "On peut maintenant mettre ces donnees dans un tableau pour les visualiser"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " - | \n",
+ " Non Smoker | \n",
+ " Smoker | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Alive (18-34) | \n",
+ " 213 | \n",
+ " 176 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Dead (18-34) | \n",
+ " 6 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Mortality (18-34(%)) | \n",
+ " 2 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Alive (35-54) | \n",
+ " 180 | \n",
+ " 196 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Dead (35-54) | \n",
+ " 19 | \n",
+ " 41 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Mortality (35-54(%)) | \n",
+ " 9 | \n",
+ " 17 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Alive (55-64) | \n",
+ " 81 | \n",
+ " 64 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " Dead (55-64) | \n",
+ " 40 | \n",
+ " 51 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " Mortality (55-64(%)) | \n",
+ " 33 | \n",
+ " 44 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " Alive (65+) | \n",
+ " 28 | \n",
+ " 7 | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " Dead (65+) | \n",
+ " 165 | \n",
+ " 42 | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " Mortality (65+(%)) | \n",
+ " 85 | \n",
+ " 85 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " - Non Smoker Smoker\n",
+ "0 Alive (18-34) 213 176\n",
+ "1 Dead (18-34) 6 5\n",
+ "2 Mortality (18-34(%)) 2 2\n",
+ "3 Alive (35-54) 180 196\n",
+ "4 Dead (35-54) 19 41\n",
+ "5 Mortality (35-54(%)) 9 17\n",
+ "6 Alive (55-64) 81 64\n",
+ "7 Dead (55-64) 40 51\n",
+ "8 Mortality (55-64(%)) 33 44\n",
+ "9 Alive (65+) 28 7\n",
+ "10 Dead (65+) 165 42\n",
+ "11 Mortality (65+(%)) 85 85"
+ ]
+ },
+ "execution_count": 27,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tableau_2 = [ { \"-\":\"Alive (18-34)\", \"Smoker\":smoker_alive_18_34, \"Non Smoker\":no_smoker_alive_18_34 },\n",
+ " { \"-\":\"Dead (18-34)\", \"Smoker\":smoker_dead_18_34, \"Non Smoker\":no_smoker_dead_18_34 }, \n",
+ " { \"-\":\"Mortality (18-34(%))\", \"Smoker\":smoker_18_34_mortality_rate, \"Non Smoker\":no_smoker_18_34_mortality_rate },\n",
+ " { \"-\":\"Alive (35-54)\", \"Smoker\":smoker_alive_35_54, \"Non Smoker\":no_smoker_alive_35_54 },\n",
+ " { \"-\":\"Dead (35-54)\", \"Smoker\":smoker_dead_35_54, \"Non Smoker\":no_smoker_dead_35_54 }, \n",
+ " { \"-\":\"Mortality (35-54(%))\", \"Smoker\":smoker_35_54_mortality_rate, \"Non Smoker\":no_smoker_35_54_mortality_rate },\n",
+ " { \"-\":\"Alive (55-64)\", \"Smoker\":smoker_alive_55_64, \"Non Smoker\":no_smoker_alive_55_64 },\n",
+ " { \"-\":\"Dead (55-64)\", \"Smoker\":smoker_dead_55_64, \"Non Smoker\":no_smoker_dead_55_64 }, \n",
+ " { \"-\":\"Mortality (55-64(%))\", \"Smoker\":smoker_55_64_mortality_rate, \"Non Smoker\":no_smoker_55_64_mortality_rate },\n",
+ " { \"-\":\"Alive (65+)\", \"Smoker\":smoker_alive_65, \"Non Smoker\":no_smoker_alive_65 },\n",
+ " { \"-\":\"Dead (65+)\", \"Smoker\":smoker_dead_65, \"Non Smoker\":no_smoker_dead_65 }, \n",
+ " { \"-\":\"Mortality (65+(%))\", \"Smoker\":smoker_65_mortality_rate, \"Non Smoker\":no_smoker_65_mortality_rate }]\n",
+ "df_2 = pd.DataFrame(tableau_2)\n",
+ "df_2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "On voit que pour les deux classes d'ages 18-34 et 65+, le taux de mortalité est le même pour les fumeurs et les non-fumeurs. En revanche, pour les classes d'age 35-54 et 55-64, le taux de mortalité des fumeurs est nettement plus élevé que celui des non-fumeurs"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
@@ -16,10 +1503,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.6.3"
+ "version": "3.6.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
-