Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • hub-courses/scientific_python
1 result
Show changes
Commits on Source (40)
Showing
with 17619 additions and 7403 deletions
image: python:3.9-slim-buster
stages:
- build
- deploy
before_script:
- pip install jupyter nbconvert
build_notebooks:
stage: build
script:
- mkdir -p public
- jupyter nbconvert --to html notebooks/*.ipynb --output-dir=public
artifacts:
paths:
- public
pages:
stage: deploy
script:
- echo "Deploying Pages"
artifacts:
paths:
- public
only:
- master
# Scientific Python Course (2022) # Scientific Python Course (2024)
1. Jupyter 1. Jupyter
2. Numpy 2. Numpy
......
# generated with fooo software version 12bis
# 2021/02/31
cond1 cond2 cond3 control
14.644417316782045 2.9453091400880465 24.81171864537413 5.114340165446571
12.071043262601615 4.406424332565544 21.574601309211538 2.5071180945299716
8.22746914709182 3.1852515050248806 20.651622951732826 4.449592659096083
8.980799267050571 9.233559928496131 24.859737015171184 4.127918884772492
9.080358618317588 5.6291920085265135 18.443503656148863 4.268572385815164
7.694230104854875 6.503020711301696 18.642541613874208 3.5498483909671847
7.599781675347266 0.7177137140372931 18.03202862910317 3.1828829793978084
11.698701634107119 5.233623279246819 23.233583470920532 4.551872236377363
12.85118587601311 4.164908508298177 16.777059698760876 4.012697826284397
10.222007465214453 3.8530606053667746 18.405248139687373 4.903494599422023
9.035341050392997 9.868423421164657 10.61345524543305 3.117720428019477
11.834986953457499 4.963792795860263 19.390888914271695 5.255737684774923
16.631862710777938 5.160719789626399 22.031801649843125 3.458114946454981
7.022382345586635 5.477115208396248 20.53377003464508 3.891374022263035
11.985764144031462 3.361795864423141 23.416100873409878 3.828626778977407
10.59188104130614 3.77317240684574 23.904882625215564 3.1120633325977027
15.35918866611064 4.036201248179169 17.908928899888497 3.939218000053589
7.7070476362557825 7.2307829291524195 20.88685879579244 3.021976077990768
13.369820519999111 1.265825280316033 17.216926090913454 3.3039869741919916
17.400218295628783 7.277575910141663 13.258902467740844 4.05865692313663
AK1BA_HUMAN sp|O60218|AK1BA_HUMAN 100.00 316 0 0 1 316 1 316 0.0 654
AK1BA_HUMAN sp|C9JRZ8|AK1BF_HUMAN 91.16 294 26 0 23 316 51 344 0.0 559
AK1BA_HUMAN sp|O08782|ALD2_CRIGR 83.23 316 53 0 1 316 1 316 0.0 537
AK1BA_HUMAN sp|P45377|ALD2_MOUSE 82.28 316 56 0 1 316 1 316 0.0 527
AK1BA_HUMAN sp|P21300|ALD1_MOUSE 79.75 316 64 0 1 316 1 316 0.0 515
AK1BA_HUMAN sp|Q5RJP0|ALD1_RAT 78.16 316 69 0 1 316 1 316 2e-177 501
AK1BA_HUMAN sp|P15122|ALDR_RABIT 72.15 316 88 0 1 316 1 316 1e-162 462
AK1BA_HUMAN sp|P07943|ALDR_RAT 71.11 315 91 0 1 315 1 315 3e-161 459
AK1BA_HUMAN sp|P15121|ALDR_HUMAN 70.57 316 93 0 1 316 1 316 1e-160 458
AK1BA_HUMAN sp|P45376|ALDR_MOUSE 70.48 315 93 0 1 315 1 315 2e-160 457
AK1BA_HUMAN sp|P16116|ALDR_BOVIN 72.12 312 87 0 5 316 4 315 4e-159 454
AK1BA_HUMAN sp|P80276|ALDR_PIG 71.52 316 90 0 1 316 1 316 7e-158 451
AK1BA_HUMAN sp|P82125|AKCL2_PIG 60.00 305 116 1 12 316 3 301 7e-131 382
AK1BA_HUMAN sp|Q4R802|AKCL2_MACFA 54.46 325 123 2 11 316 2 320 2e-119 353
AK1BA_HUMAN sp|Q96JD6|AKCL2_HUMAN 54.46 325 123 3 11 316 2 320 2e-117 348
AK1BA_HUMAN sp|Q9DCT1|AKCL2_MOUSE 56.91 304 125 1 13 316 4 301 4e-117 347
AK1BA_HUMAN sp|Q6AZW2|A1A1A_DANRE 56.04 298 128 2 1 297 1 296 1e-116 346
AK1BA_HUMAN sp|Q5U1Y4|AKCL2_RAT 56.39 305 127 1 12 316 3 301 3e-116 344
AK1BA_HUMAN sp|Q8VCX1|AK1D1_MOUSE 51.90 316 148 2 5 316 10 325 5e-111 332
AK1BA_HUMAN sp|P51857|AK1D1_HUMAN 50.79 317 151 2 5 316 10 326 8e-111 331
AK1BA_HUMAN sp|Q9TV64|AK1D1_RABIT 50.79 317 151 2 5 316 10 326 3e-110 330
AK1BA_HUMAN sp|Q9JII6|AK1A1_MOUSE 50.15 325 150 3 2 316 3 325 1e-108 326
AK1BA_HUMAN sp|P31210|AK1D1_RAT 51.74 317 148 3 5 316 10 326 1e-108 326
AK1BA_HUMAN sp|P51635|AK1A1_RAT 50.15 325 150 3 2 316 3 325 1e-108 325
AK1BA_HUMAN sp|Q5R5D5|AK1A1_PONAB 48.92 325 154 3 2 316 3 325 3e-106 320
AK1BA_HUMAN sp|P14550|AK1A1_HUMAN 48.92 325 154 3 2 316 3 325 4e-106 319
AK1BA_HUMAN sp|P80508|PE2R_RABIT 50.63 316 152 2 5 316 8 323 6e-106 319
AK1BA_HUMAN sp|P50578|AK1A1_PIG 49.54 325 152 3 2 316 3 325 3e-105 317
AK1BA_HUMAN sp|Q5ZK84|AK1A1_CHICK 52.01 323 143 3 4 316 7 327 6e-105 317
AK1BA_HUMAN sp|Q6GMC7|AK1A1_XENLA 51.37 329 145 4 1 316 1 327 3e-104 315
AK1BA_HUMAN sp|Q28FD1|AK1A1_XENTR 51.37 329 145 4 1 316 1 327 3e-103 312
AK1BA_HUMAN sp|P52895|AK1C2_HUMAN 48.73 316 158 2 5 316 8 323 9e-103 311
AK1BA_HUMAN sp|Q3ZCJ2|AK1A1_BOVIN 48.31 325 156 3 2 316 3 325 1e-102 310
AK1BA_HUMAN sp|P52898|DDBX_BOVIN 49.05 316 157 2 5 316 8 323 5e-102 309
AK1BA_HUMAN sp|Q5REQ0|AK1C1_PONAB 48.10 316 160 2 5 316 8 323 6e-102 308
AK1BA_HUMAN sp|P17516|AK1C4_HUMAN 48.10 316 160 2 5 316 8 323 1e-101 308
AK1BA_HUMAN sp|Q04828|AK1C1_HUMAN 48.10 316 160 2 5 316 8 323 1e-101 308
AK1BA_HUMAN sp|Q5R7C9|AK1C3_PONAB 48.42 316 159 2 5 316 8 323 1e-101 308
AK1BA_HUMAN sp|Q1XAA8|AK1CN_HORSE 47.94 315 161 1 5 316 8 322 1e-100 305
AK1BA_HUMAN sp|Q6W8P9|AK1CO_HORSE 48.70 308 154 2 13 316 16 323 1e-100 305
AK1BA_HUMAN sp|P70694|DHB5_MOUSE 48.10 316 160 2 5 316 8 323 3e-100 304
AK1BA_HUMAN sp|Q95JH5|AK1C4_MACFA 47.47 316 162 2 5 316 8 323 3e-100 304
AK1BA_HUMAN sp|P52897|PGFS2_BOVIN 48.38 308 155 2 13 316 16 323 4e-100 304
AK1BA_HUMAN sp|Q95JH4|AK1C4_MACFU 47.15 316 163 2 5 316 8 323 8e-100 303
AK1BA_HUMAN sp|P05980|PGFS1_BOVIN 47.47 316 162 2 5 316 8 323 9e-100 303
AK1BA_HUMAN sp|P42330|AK1C3_HUMAN 47.47 316 162 2 5 316 8 323 9e-100 303
AK1BA_HUMAN sp|Q95JH6|AK1C1_MACFU 47.78 316 161 2 5 316 8 323 1e-99 303
AK1BA_HUMAN sp|Q568L5|A1A1B_DANRE 49.08 326 154 3 1 316 1 324 2e-99 302
AK1BA_HUMAN sp|Q95JH7|AK1C1_MACFA 47.47 316 162 2 5 316 8 323 3e-99 301
AK1BA_HUMAN sp|P17264|CRO_LITCT 47.17 318 164 2 3 316 7 324 2e-98 300
AK1BA_HUMAN sp|P02532|CRO_RANTE 46.54 318 166 2 3 316 7 324 2e-98 299
AK1BA_HUMAN sp|Q8VC28|AK1CD_MOUSE 47.34 319 158 4 5 316 8 323 2e-97 297
AK1BA_HUMAN sp|P51652|AKC1H_RAT 44.65 318 168 4 5 316 8 323 3e-96 294
AK1BA_HUMAN sp|P23457|DIDH_RAT 46.03 315 166 2 5 315 8 322 1e-94 290
AK1BA_HUMAN sp|Q8K023|AKC1H_MOUSE 44.62 316 171 2 5 316 8 323 4e-94 288
AK1BA_HUMAN sp|Q91WR5|AK1CL_MOUSE 44.48 308 167 2 13 316 16 323 4e-90 278
AK1BA_HUMAN sp|P82809|AK1CD_MESAU 43.32 307 170 2 13 315 16 322 2e-85 266
AK1BA_HUMAN sp|Q6AYQ2|AK1CL_RAT 43.71 318 166 5 5 316 8 318 2e-84 263
AK1BA_HUMAN sp|Q54NZ7|ALRB_DICDI 47.10 293 139 5 13 299 17 299 1e-82 259
AK1BA_HUMAN sp|Q6IMN8|ALRA_DICDI 44.11 297 148 5 6 300 6 286 5e-79 249
AK1BA_HUMAN sp|O70473|AK1A1_CRIGR 51.74 230 108 2 15 243 1 228 3e-78 244
AK1BA_HUMAN sp|Q0PGJ6|AKRC9_ARATH 44.33 291 140 4 3 287 6 280 5e-75 239
AK1BA_HUMAN sp|P49378|XYL1_KLULA 42.68 314 159 7 1 297 4 313 2e-70 228
AK1BA_HUMAN sp|Q55FL3|ALRC_DICDI 41.67 300 159 4 6 299 18 307 9e-70 226
AK1BA_HUMAN sp|H9JTG9|AK2E4_BOMMO 39.56 316 169 5 2 311 5 304 2e-69 224
AK1BA_HUMAN sp|Q84TF0|AKRCA_ARATH 41.03 290 149 4 4 287 7 280 5e-69 224
AK1BA_HUMAN sp|P27800|ALDX_SPOSA 43.79 306 156 6 1 301 1 295 2e-68 222
AK1BA_HUMAN sp|Q6Y0Z3|XYL1_CANPA 40.81 321 156 7 5 301 10 320 3e-68 222
AK1BA_HUMAN sp|O80944|AKRC8_ARATH 41.91 303 161 6 4 306 7 294 7e-68 221
AK1BA_HUMAN sp|P22045|PGFS_LEIMA 42.91 296 140 6 3 297 7 274 9e-68 219
AK1BA_HUMAN sp|Q5BGA7|XYL1_EMENI 42.38 302 163 5 5 297 6 305 2e-67 219
AK1BA_HUMAN sp|P14065|GCY1_YEAST 41.89 296 150 6 4 291 11 292 6e-67 218
AK1BA_HUMAN sp|Q10494|YDG7_SCHPO 43.06 288 153 5 7 292 18 296 3e-66 217
AK1BA_HUMAN sp|Q9GV41|PGFS_TRYBB 41.84 294 134 5 5 297 7 264 3e-66 215
AK1BA_HUMAN sp|O13283|XYL1_CANTR 40.75 319 159 7 5 301 10 320 4e-66 216
AK1BA_HUMAN sp|P87039|XYL2_CANTR 40.75 319 159 7 5 301 10 320 5e-66 216
AK1BA_HUMAN sp|Q4DJ07|PGFS_TRYCC 40.20 296 139 7 5 297 8 268 1e-65 214
AK1BA_HUMAN sp|O94735|XYL1_PICGU 40.89 313 157 7 5 296 3 308 5e-65 213
AK1BA_HUMAN sp|P38715|GRE3_YEAST 40.38 317 163 7 1 297 1 311 2e-64 212
AK1BA_HUMAN sp|A1D4E3|XYL1_NEOFI 40.62 320 171 6 5 311 6 319 3e-64 212
AK1BA_HUMAN sp|P78736|XYL1_PACTA 41.75 309 156 7 4 297 5 304 3e-64 211
AK1BA_HUMAN sp|Q12458|YPR1_YEAST 41.95 298 149 8 5 294 12 293 5e-64 211
AK1BA_HUMAN sp|A0QV10|Y2408_MYCS2 40.07 297 144 5 1 297 1 263 1e-63 209
AK1BA_HUMAN sp|Q9M338|AKRCB_ARATH 41.46 287 146 4 4 284 7 277 1e-63 209
AK1BA_HUMAN sp|P28475|S6PD_MALDO 37.70 313 164 6 1 298 1 297 3e-63 209
AK1BA_HUMAN sp|Q9P430|XYL1_SCHSH 40.38 312 168 5 6 301 10 319 5e-62 206
AK1BA_HUMAN sp|A1CRI1|XYL1_ASPCL 40.52 306 163 4 5 297 6 305 8e-62 206
AK1BA_HUMAN sp|Q4WJT9|XYL1_ASPFU 40.20 306 164 6 5 297 6 305 1e-61 205
AK1BA_HUMAN sp|B0XNR0|XYL1_ASPFC 40.20 306 164 6 5 297 6 305 1e-61 205
AK1BA_HUMAN sp|Q3ZFI7|GAR1_HYPJE 39.80 299 160 9 1 295 2 284 2e-61 204
AK1BA_HUMAN sp|Q9P8R5|XYL1_ASPNG 39.40 302 172 4 5 297 6 305 2e-61 204
AK1BA_HUMAN sp|A2Q8B5|XYL1_ASPNC 39.40 302 172 4 5 297 6 305 2e-61 204
AK1BA_HUMAN sp|Q2UKD0|XYL1_ASPOR 40.20 306 164 4 5 297 6 305 4e-61 203
AK1BA_HUMAN sp|B8N195|XYL1_ASPFN 40.20 306 164 4 5 297 6 305 4e-61 203
AK1BA_HUMAN sp|C5FFQ7|XYL1_ARTOC 39.94 308 174 3 2 300 10 315 9e-61 202
AK1BA_HUMAN sp|O74237|XYL1_CANTE 39.62 313 171 5 5 301 8 318 1e-60 202
AK1BA_HUMAN sp|P31867|XYL1_PICST 40.26 308 162 6 5 297 4 304 2e-60 202
AK1BA_HUMAN sp|Q01213|DTDH_MUCMU 39.93 298 168 4 9 297 11 306 2e-60 201
AK1BA_HUMAN sp|Q8X195|XYL1_CANBO 39.87 311 165 7 4 296 5 311 2e-59 199
AK1BA_HUMAN sp|Q0GYU4|GLD2_HYPJE 39.31 290 163 7 7 289 8 291 2e-59 199
AK1BA_HUMAN sp|P23901|ALDR_HORVU 40.00 290 151 7 7 292 18 288 2e-59 199
AK1BA_HUMAN sp|Q876L8|XYL1_HYPJE 39.34 305 170 6 5 297 6 307 6e-59 198
AK1BA_HUMAN sp|O42888|YBN4_SCHPO 38.89 288 165 5 4 289 14 292 3e-58 196
AK1BA_HUMAN sp|Q0CUL0|XYL1_ASPTN 39.16 309 173 6 1 297 1 306 5e-58 195
AK1BA_HUMAN sp|Q46857|DKGA_ECOLI 35.93 295 155 6 3 297 5 265 7e-58 193
AK1BA_HUMAN sp|G4N708|XYL1_MAGO7 39.34 305 170 6 5 297 6 307 2e-57 194
AK1BA_HUMAN sp|O34678|YTBE_BACSU 41.10 292 139 5 7 297 11 270 4e-57 192
AK1BA_HUMAN sp|Q8XBT6|DKGA_ECO57 35.59 295 156 6 3 297 5 265 4e-57 191
AK1BA_HUMAN sp|Q8ZI40|DKGA_YERPE 35.84 293 154 6 1 293 3 261 2e-56 190
AK1BA_HUMAN sp|Q8SSK6|ALDR_ENCCU 37.88 293 170 5 6 297 7 288 2e-56 191
AK1BA_HUMAN sp|P38115|ARA1_YEAST 36.81 307 166 8 4 296 24 316 2e-56 192
AK1BA_HUMAN sp|G4MZI3|PRD1_MAGO7 37.05 305 171 6 3 289 4 305 3e-56 191
AK1BA_HUMAN sp|P26690|6DCS_SOYBN 38.28 303 160 5 3 295 11 296 3e-56 190
AK1BA_HUMAN sp|O32210|GR_BACSU 40.82 294 137 5 5 297 9 266 5e-56 189
AK1BA_HUMAN sp|Q9SQ64|COR2_PAPSO 38.05 297 156 6 5 289 9 289 6e-56 190
AK1BA_HUMAN sp|A1UEC6|Y1985_MYCSK 37.50 296 151 4 2 297 3 264 5e-55 186
AK1BA_HUMAN sp|A3PXT0|Y1919_MYCSJ 37.80 291 147 4 2 292 3 259 6e-55 186
AK1BA_HUMAN sp|O14088|YER5_SCHPO 33.66 303 164 5 1 299 2 271 1e-54 185
AK1BA_HUMAN sp|O49133|GALUR_FRAAN 37.77 278 161 6 13 286 19 288 2e-54 186
AK1BA_HUMAN sp|Q9SQ67|COR14_PAPSO 36.91 298 160 7 4 289 8 289 3e-53 182
AK1BA_HUMAN sp|Q9SQ69|COR12_PAPSO 37.46 299 157 7 4 289 8 289 5e-53 182
AK1BA_HUMAN sp|Q8ZM06|DKGA_SALTY 37.63 295 150 6 3 297 5 265 6e-52 178
AK1BA_HUMAN sp|P58744|DKGA_SALTI 37.63 295 150 6 3 297 5 265 8e-52 177
AK1BA_HUMAN sp|Q0GYU5|GLD1_HYPJE 40.14 294 157 7 5 289 7 290 9e-52 179
AK1BA_HUMAN sp|P47137|YJ66_YEAST 34.97 286 155 4 4 286 5 262 3e-51 176
AK1BA_HUMAN sp|Q02198|MORA_PSEPU 36.33 289 157 6 4 289 7 271 1e-50 175
AK1BA_HUMAN sp|A1T726|Y2161_MYCVP 34.35 294 157 5 5 297 10 268 6e-50 173
AK1BA_HUMAN sp|Q7G765|NADO2_ORYSJ 34.35 294 175 7 1 285 3 287 1e-48 171
AK1BA_HUMAN sp|Q7G764|NADO1_ORYSJ 33.89 298 179 7 1 289 1 289 1e-48 171
AK1BA_HUMAN sp|A4TE41|Y4205_MYCGI 33.45 293 161 4 5 297 10 268 4e-48 168
AK1BA_HUMAN sp|A1UEC5|Y1984_MYCSK 32.42 293 164 5 5 297 14 272 8e-48 167
AK1BA_HUMAN sp|Q1BAN7|Y1938_MYCSS 32.42 293 164 5 5 297 14 272 8e-48 167
AK1BA_HUMAN sp|A3PXS9|Y1918_MYCSJ 32.42 293 164 5 5 297 14 272 8e-48 167
AK1BA_HUMAN sp|Q9C1X5|YKW2_SCHPO 34.11 299 162 7 2 298 8 273 8e-47 165
AK1BA_HUMAN sp|A0QV09|Y2407_MYCS2 31.97 294 164 5 5 297 14 272 2e-45 161
AK1BA_HUMAN sp|Q9SQ68|COR13_PAPSO 36.58 298 161 7 4 289 8 289 1e-44 160
AK1BA_HUMAN sp|Q9SQ70|COR11_PAPSO 36.54 301 157 8 4 289 8 289 9e-44 158
AK1BA_HUMAN sp|Q09632|YOF5_CAEEL 35.67 314 166 10 7 314 7 290 1e-43 158
AK1BA_HUMAN sp|E7C196|MER_ERYCB 37.67 300 152 6 5 285 8 291 1e-43 158
AK1BA_HUMAN sp|B9VRJ2|COR15_PAPSO 36.75 302 155 8 4 289 8 289 2e-43 157
AK1BA_HUMAN sp|A5U6Y1|Y2999_MYCTA 33.78 296 156 8 5 297 13 271 4e-43 155
AK1BA_HUMAN sp|P9WQA5|Y2971_MYCTU 33.78 296 156 8 5 297 13 271 4e-43 155
AK1BA_HUMAN sp|P9WQA4|Y2971_MYCTO 33.78 296 156 8 5 297 13 271 4e-43 155
AK1BA_HUMAN sp|Q7TXI6|Y2996_MYCBO 33.78 296 156 8 5 297 13 271 4e-43 155
AK1BA_HUMAN sp|A1KMW6|Y2993_MYCBP 33.78 296 156 8 5 297 13 271 4e-43 155
AK1BA_HUMAN sp|P06632|DKGA_CORSC 32.40 287 162 5 7 293 8 262 3e-42 153
AK1BA_HUMAN sp|A0QL30|Y4483_MYCA1 34.47 293 158 5 5 297 17 275 4e-39 144
AK1BA_HUMAN sp|Q76L36|CPRC2_CANPA 32.89 301 165 10 3 289 10 287 2e-38 143
AK1BA_HUMAN sp|Q73SC5|Y4149_MYCPA 33.79 293 160 5 5 297 17 275 3e-37 140
AK1BA_HUMAN sp|Q8ZH36|DKGB_YERPE 31.14 289 161 7 12 297 2 255 5e-37 138
AK1BA_HUMAN sp|Q73VK6|Y3007_MYCPA 30.27 294 169 6 5 297 12 270 3e-36 137
AK1BA_HUMAN sp|A0QJ99|Y3816_MYCA1 30.27 294 169 6 5 297 15 273 4e-36 137
AK1BA_HUMAN sp|A0PQ11|Y1987_MYCUA 29.25 294 172 6 5 297 13 271 5e-36 136
AK1BA_HUMAN sp|B2HIJ9|Y1744_MYCMM 29.25 294 172 6 5 297 12 270 5e-36 136
AK1BA_HUMAN sp|P15339|DKGB_CORSS 32.26 279 156 5 17 295 19 264 3e-34 131
AK1BA_HUMAN sp|Q8X7Z7|DKGB_ECO57 30.88 285 165 6 13 297 3 255 5e-34 130
AK1BA_HUMAN sp|Q8ZRM7|DKGB_SALTY 30.53 285 166 6 13 297 3 255 6e-34 130
AK1BA_HUMAN sp|Q8Z988|DKGB_SALTI 30.18 285 167 6 13 297 3 255 1e-33 129
AK1BA_HUMAN sp|P30863|DKGB_ECOLI 30.18 285 167 6 13 297 3 255 3e-33 128
AK1BA_HUMAN sp|O69462|Y1669_MYCLE 28.27 283 167 6 5 286 13 260 2e-30 121
AK1BA_HUMAN sp|B8ZS00|Y1669_MYCLB 28.27 283 167 6 5 286 13 260 2e-30 121
AK1BA_HUMAN sp|Q5T2L2|AKCL1_HUMAN 49.57 117 56 1 5 118 11 127 3e-30 116
AK1BA_HUMAN sp|O13848|I3ACR_SCHPO 31.60 288 159 9 7 286 6 263 2e-29 118
AK1BA_HUMAN sp|P76234|YEAE_ECOLI 30.30 297 163 8 4 289 5 268 3e-29 117
AK1BA_HUMAN sp|Q76L37|CPRC1_CANPA 27.18 309 167 9 6 289 9 284 1e-28 116
AK1BA_HUMAN sp|Q07551|KAR_YEAST 29.04 303 173 10 4 289 7 284 1e-25 108
AK1BA_HUMAN sp|Q9USV2|YHH5_SCHPO 30.20 255 142 8 35 286 33 254 2e-23 101
AK1BA_HUMAN sp|P46905|YCCK_BACSU 25.08 299 154 10 29 289 39 305 1e-17 85.1
AK1BA_HUMAN sp|Q94A68|Y1669_ARATH 24.08 299 176 9 25 292 84 362 7e-15 77.8
AK1BA_HUMAN sp|P82810|MORA_RABIT 31.18 170 45 5 117 286 27 124 9e-13 68.2
AK1BA_HUMAN sp|P46336|IOLS_BACSU 25.42 295 159 10 29 289 38 305 3e-12 69.7
AK1BA_HUMAN sp|P80874|GS69_BACSU 29.36 218 107 9 16 213 16 206 3e-11 67.0
AK1BA_HUMAN sp|Q56Y42|PLR1_ARATH 23.00 313 178 10 16 285 50 342 6e-09 60.1
AK1BA_HUMAN sp|P25906|YDBC_ECOLI 23.75 299 181 11 11 294 19 285 6e-09 59.7
AK1BA_HUMAN sp|C6TBN2|AKR1_SOYBN 25.32 316 178 13 9 290 19 310 6e-08 57.0
AK1BA_HUMAN sp|P49261|CROB_LEPLU 45.90 61 20 1 95 155 15 62 1e-06 50.1
Source diff could not be displayed: it is too large. Options to address this: view the blob.
City Year Tmp std
0 Barcelona 1995 62.01917808219179 9.569756297123327
1 Barcelona 1996 61.12595628415301 9.420764506001397
2 Barcelona 1997 62.61232876712331 9.827234879971101
3 Barcelona 1998 60.2739726027397 19.75012607691891
4 Barcelona 1999 61.20465753424656 13.904525518554435
5 Barcelona 2000 60.069398907103846 9.099817440252128
6 Barcelona 2001 59.27945205479454 10.523427017015313
7 Barcelona 2002 58.044109589041135 18.929773327478483
8 Barcelona 2003 63.13945205479458 15.153889346840758
9 Barcelona 2004 62.87513661202182 11.071518902264671
10 Barcelona 2005 62.041917808219225 12.211059284082598
11 Barcelona 2006 61.9854794520548 10.383211438819417
12 Barcelona 2007 60.556164383561644 13.128345584082622
13 Barcelona 2008 59.65191256830599 15.614665889880865
14 Barcelona 2009 61.552054794520586 13.90370839128742
15 Barcelona 2010 60.66794520547943 11.479319072602506
16 Barcelona 2011 62.83479452054788 10.102326479631735
17 Barcelona 2012 63.03224043715851 11.292237552376044
18 Barcelona 2013 62.24657534246573 10.973485554623132
19 Barcelona 2014 62.43726027397264 13.027373258325785
20 Barcelona 2015 61.795081967213115 16.233531266810775
21 Barcelona 2016 60.80081967213118 19.506541913124646
22 Barcelona 2017 62.51479452054798 11.352460171672947
23 Barcelona 2018 61.391506849315086 18.513200196464584
24 Barcelona 2019 59.71917808219182 23.21768377728357
25 Barcelona 2020 55.43731343283583 5.669011817215402
26 Bilbao 1995 58.94547945205482 9.152938194122601
27 Bilbao 1996 57.40928961748634 8.299521097803076
28 Bilbao 1997 59.65315068493152 8.59646759755442
29 Bilbao 1998 56.50794520547946 18.5087198753874
30 Bilbao 1999 57.86356164383562 13.254929144303365
31 Bilbao 2000 58.17704918032782 9.61060590126113
32 Bilbao 2001 59.258082191780844 10.785430834692193
33 Bilbao 2002 59.06191780821921 18.311794423082254
34 Bilbao 2003 61.98136986301364 11.109533738036083
35 Bilbao 2004 60.1620218579235 10.887947603849794
36 Bilbao 2005 60.47123287671232 12.180590300525083
37 Bilbao 2006 60.931506849315106 10.959762529415924
38 Bilbao 2007 57.378630136986295 12.556410441414583
39 Bilbao 2008 57.65546448087436 14.55881450004361
40 Bilbao 2009 58.33150684931509 12.957812746937886
41 Bilbao 2010 57.31945205479447 10.92548335370651
42 Bilbao 2011 60.064931506849376 9.37413895288166
43 Bilbao 2012 58.18196721311478 10.896172632501663
44 Bilbao 2013 58.078630136986355 10.692211568623678
45 Bilbao 2014 60.67041095890412 12.315738661838056
46 Bilbao 2015 59.06010928961746 14.845431712407324
47 Bilbao 2016 57.561748633879795 18.627752493559164
48 Bilbao 2017 58.831780821917825 9.579137034485704
49 Bilbao 2018 58.11095890410959 17.318878742319427
50 Bilbao 2019 57.03232876712337 20.566454771536044
51 Bilbao 2020 55.114925373134334 7.012797190171634
52 Bordeaux 1995 57.370136986301354 11.044040769557341
53 Bordeaux 1996 55.93497267759563 10.784892064762007
54 Bordeaux 1997 58.16931506849312 11.011332365506272
55 Bordeaux 1998 54.70493150684932 19.598395813702982
56 Bordeaux 1999 56.77917808219176 13.852986125645279
57 Bordeaux 2000 57.19071038251365 10.422852712768039
58 Bordeaux 2001 56.48027397260274 11.773260583198585
59 Bordeaux 2002 55.39232876712332 18.522743557653765
60 Bordeaux 2003 58.219452054794544 12.897343185222015
61 Bordeaux 2004 56.27841530054645 11.751133956460096
62 Bordeaux 2005 56.29835616438355 13.255407253879639
63 Bordeaux 2006 57.610410958904126 12.919541851158483
64 Bordeaux 2007 55.84027397260273 13.31117414308708
65 Bordeaux 2008 55.45765027322398 12.808973051265317
66 Bordeaux 2009 56.567671232876755 14.223581499075609
67 Bordeaux 2010 55.150136986301355 12.747677281767228
68 Bordeaux 2011 58.351506849315086 10.258827834959664
69 Bordeaux 2012 56.359016393442666 12.014168034051115
70 Bordeaux 2013 55.9295890410959 11.872014423803591
71 Bordeaux 2014 56.46931506849318 12.483597626262037
72 Bordeaux 2015 56.23169398907107 15.68360389372104
73 Bordeaux 2016 55.93715846994539 15.626511950502655
74 Bordeaux 2017 56.857260273972656 11.833635389820595
75 Bordeaux 2018 57.26931506849317 14.359770607228285
76 Bordeaux 2019 55.98712328767125 19.774109604678415
77 Bordeaux 2020 52.31268656716417 6.887914900422134
78 Madrid 1995 60.57424657534247 12.999120629367042
79 Madrid 1996 58.82896174863385 12.834437087673026
80 Madrid 1997 60.21095890410956 12.277039698083023
81 Madrid 1998 56.99123287671236 21.365555361221524
82 Madrid 1999 57.7158904109589 16.28990685923228
83 Madrid 2000 57.804371584699425 13.537680848457656
84 Madrid 2001 57.30356164383564 14.361118272929666
85 Madrid 2002 56.16986301369865 20.734617527028856
86 Madrid 2003 58.95178082191778 14.6895054246955
87 Madrid 2004 57.572677595628384 14.328101211175488
88 Madrid 2005 58.578630136986256 15.897967362219234
89 Madrid 2006 59.54575342465752 14.645098748612648
90 Madrid 2007 56.18767123287673 15.54338968721232
91 Madrid 2008 56.802459016393456 17.454694998719265
92 Madrid 2009 59.486849315068476 16.846571444704047
93 Madrid 2010 58.35260273972605 14.880927577599886
94 Madrid 2011 60.0972602739726 14.08172547926141
95 Madrid 2012 59.22103825136618 15.704333928077313
96 Madrid 2013 58.5898630136986 15.061813341527952
97 Madrid 2014 60.00684931506852 15.530396717043965
98 Madrid 2015 59.7360655737705 19.216008162034054
99 Madrid 2016 58.30437158469944 22.135516183890996
100 Madrid 2017 60.827123287671206 15.335287673221936
101 Madrid 2018 57.8893150684931 20.697793342645358
102 Madrid 2019 58.01808219178085 23.572917074236493
103 Madrid 2020 50.94477611940298 8.01996162933257
104 Milan 1995 51.81013698630133 17.66463472693756
105 Milan 1996 52.536338797814224 13.116517527084948
106 Milan 1997 54.71835616438357 13.622209061233912
107 Milan 1998 52.61287671232878 21.59552695083426
108 Milan 1999 54.47424657534245 16.44477420566477
109 Milan 2000 55.345355191256836 13.650382814023335
110 Milan 2001 54.585479452054756 14.728662443197207
111 Milan 2002 52.71205479452063 20.805079615305182
112 Milan 2003 55.6578082191781 16.522557860689197
113 Milan 2004 53.69234972677599 14.1368864235138
114 Milan 2005 53.44958904109592 15.527562558446604
115 Milan 2006 54.07835616438361 15.096444437450113
116 Milan 2007 54.0361643835616 15.97246623271815
117 Milan 2008 53.66912568306015 18.110549496608105
118 Milan 2009 54.2654794520548 17.799552797282026
119 Milan 2010 53.26958904109586 15.442853928856914
120 Milan 2011 55.66027397260276 14.933169251059093
121 Milan 2012 55.05191256830602 16.075172183078543
122 Milan 2013 54.34520547945205 14.6871237720894
123 Milan 2014 55.45205479452057 14.366357503176557
124 Milan 2015 55.02267759562845 18.553332365155743
125 Milan 2016 54.121584699453535 21.339925888669406
126 Milan 2017 56.38410958904112 15.184990043635842
127 Milan 2018 55.711780821917834 22.21152305528249
128 Milan 2019 54.58164383561645 24.353680984815433
129 Milan 2020 47.80373134328358 9.138676025892822
130 Paris 1995 53.742191780821955 20.406326470437165
131 Paris 1996 52.293169398907125 15.207324562142714
132 Paris 1997 55.57999999999997 12.745184826582006
133 Paris 1998 50.31753424657538 27.794294802597282
134 Paris 1999 54.565753424657565 13.99020869517814
135 Paris 2000 54.33770491803271 10.34568531230199
136 Paris 2001 53.94493150684927 12.074808387359592
137 Paris 2002 52.743013698630136 18.72207478617854
138 Paris 2003 54.56219178082192 13.721165395048772
139 Paris 2004 53.58524590163939 11.761756034192336
140 Paris 2005 53.40767123287677 14.98337160011056
141 Paris 2006 54.19972602739725 13.030265906537082
142 Paris 2007 53.57205479452048 12.96249396864273
143 Paris 2008 52.38169398907109 15.655254039470176
144 Paris 2009 53.061095890410954 14.640168245899794
145 Paris 2010 51.64821917808218 13.601742307439258
146 Paris 2011 55.00191780821926 10.339225513741106
147 Paris 2012 53.256557377049155 11.453752063627668
148 Paris 2013 52.08849315068489 14.922240911540998
149 Paris 2014 53.65041095890415 11.968850647395499
150 Paris 2015 53.43497267759561 15.680118495299984
151 Paris 2016 51.122950819672184 21.198085156034864
152 Paris 2017 54.36794520547941 11.949198207377224
153 Paris 2018 45.7731506849315 36.811172339412884
154 Paris 2019 52.20821917808223 22.72281465588924
155 Paris 2020 49.32014925373133 7.458857376369018
156 Rome 1995 59.67780821917805 10.85141534377517
157 Rome 1996 59.125956284152984 10.481723613267679
158 Rome 1997 60.45260273972603 10.581853899170923
159 Rome 1998 58.78575342465755 20.341707676662004
160 Rome 1999 60.2827397260274 14.662355669944747
161 Rome 2000 60.301366120218574 13.68558578952963
162 Rome 2001 60.5652054794521 10.709699325458592
163 Rome 2002 58.55150684931504 19.576252129773003
164 Rome 2003 61.05999999999997 12.978538497784012
165 Rome 2004 59.942896174863485 11.47532391640649
166 Rome 2005 59.00958904109588 12.478535024958282
167 Rome 2006 60.395890410958906 11.92679638779288
168 Rome 2007 60.57671232876712 13.676997217875977
169 Rome 2008 60.20819672131149 16.17226743532121
170 Rome 2009 61.091506849315024 14.458681531324565
171 Rome 2010 60.28109589041099 11.563938305153439
172 Rome 2011 60.90219178082182 11.206865812382413
173 Rome 2012 61.075136612021915 12.547324524416043
174 Rome 2013 61.049315068493144 11.625454301505501
175 Rome 2014 61.882465753424654 12.959953934766476
176 Rome 2015 60.57213114754101 16.531134240619526
177 Rome 2016 61.185245901639334 15.914192883864587
178 Rome 2017 61.3778082191781 11.916595484036199
179 Rome 2018 60.82136986301364 20.327931936122738
180 Rome 2019 59.215068493150675 23.514064479810376
181 Rome 2020 52.67611940298508 6.224293650229102
"","Age","OwnsHouse","PhysicalActivity","Sex","LivesWithPartner","LivesWithKids","BornInCity","Inbreeding","BMI","CMVPositiveSerology","FluIgG","MetabolicScore","LowAppetite","TroubleConcentrating","TroubleSleeping","HoursOfSleep","Listless","UsesCannabis","RecentPersonalCrisis","Smoking","Employed","Education","DustExposure","Income","HadMeasles","HadRubella","HadChickenPox","HadMumps","HadTonsillectomy","HadAppendicectomy","VaccineHepA","VaccineMMR","VaccineTyphoid","VaccineWhoopingCough","VaccineYellowFever","VaccineHepB","VaccineFlu","SUBJID","DepressionScore","HeartRate","Temperature","HourOfSampling","DayOfSampling"
"1",22.33,"Yes",3,"Female","No","No","Yes",94.9627,20.13,"No",0.464318721724723,0,0,0,1,9,3,"No","No","Never","No","PhD","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","Yes","No","Yes","No",2,0,66,36.8,8.883,"40"
"2",28.83,"Yes",0,"Female","Yes","No","Yes",79.1024,21.33,"Yes",-0.0498174630440284,1,0,0,1,7.05,3,"No","No","Active","Yes","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","Yes","No","Yes","No",3,0,66,37.4,9.35,"40"
"3",23.67,"Yes",0,"Female","Yes","No","Yes",117.254,22.18,"No",0.332944259050367,2,0,0,1,6.5,3,"Yes","No","Active","Yes","Baccalaureat","Current","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",4,0,62,36.9,8.667,"40"
"4",21.17,"No",0.5,"Female","No","No","No",94.1796,18.68,"No",0.404885864885734,0,0,0,2,10,3,"No","No","Never","No","PhD","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",5,1,64,36,9.883,"40"
"5",26.17,"Yes",1.5,"Female","No","No","Yes",105.125,29.01,"No",-0.30378160665476,1,0,0,1,9,0,"No","No","Never","Yes","Baccalaureat","No","[0-1000]","No","No","No","No","No","No","No","No","No","Yes","No","Yes","No",8,0,67,36.7,8.55,"81"
"6",23.83,"Yes",0,"Female","Yes","No","Yes",90.0611,27.51,"No",0.0745854943584757,1,3,0,1,8,3,"No","No","Never","Yes","Baccalaureat","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","Yes","No","No","No",9,0,72,36.6,8.8,"81"
"7",26.42,"No",4,"Female","Yes","No","Yes",98.4315,22.59,"No",0.395556287988648,1,0,0,0,8,0,"Yes","No","Active","Yes","Vocational","Past","(1000-2000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",11,0,61,36.8,9.05,"82"
"8",21.67,"Yes",0,"Female","No","No","Yes",111.392,21.6,"Yes",-0.049117619367942,0,3,0,0,7,3,"Yes","Yes","Active","Yes","Baccalaureat","No","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No",13,2,71,36.9,9.55,"82"
"9",26.5,"No",0,"Female","Yes","No","Yes",73.9294,22.26,"No",0.229156761895132,1,0,0,1,7,0,"No","No","Never","Yes","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","Yes",16,0,53,36.7,9.083,"109"
"10",23.25,"Yes",1.5,"Female","No","No","No",65.9695,23.04,"No",-0.0882238338229637,1,0,0,3,7,3,"Yes","No","Never","No","PhD","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",19,1,58,36.8,9.233,"110"
"11",21.83,"Yes",0,"Female","No","Yes","Yes",93.8297,20.06,"No",0.263480649587516,0,3,0,2,8,3,"No","No","Active","No","Vocational","No","[0-1000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",20,0,59,36.5,8.733,"111"
"12",24.25,"Yes",0,"Female","No","No","Yes",86.9168,19.31,"Yes",-0.349493379600581,0,0,0,3,7,3,"Yes","No","Active","Yes","PhD","No","(1000-2000]","No","No","Yes","No","No","No","Yes","No","No","No","Yes","No","No",21,0,65,36.5,9.083,"131"
"13",25.83,"No",0.5,"Female","Yes","Yes","Yes",96.4524,24.97,"No",0.199184764980413,3,0,0,1,8,8,"No","Yes","Ex","No","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","No","Yes",22,0,63,36.4,8.467,"136"
"14",22.75,"Yes",0.75,"Female","Yes","No","Yes",86.4939,18.82,"No",-0.00576323409774243,0,0,0,1,9,3,"No","No","Never","No","UpToPrimary","No","(2000-3000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",23,0,68,37,8.733,"136"
"15",25.75,"Yes",0.333,"Female","Yes","Yes","Yes",103.485,28.66,"No",0.102920543142508,2,3,0,1,8,3,"No","No","Active","No","Vocational","Current","(1000-2000]","No","No","Yes","No","Yes","No","No","Yes","No","No","Yes","Yes","No",24,0,70,36.7,9.05,"137"
"16",22,"No",0.5,"Female","No","No","Yes",87.0198,27.45,"No",0.167556512795831,1,3,0,1,8,3,"No","Yes","Never","No","PhD","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",25,3,64,36.3,9.3,"137"
"17",25.33,"Yes",0,"Female","No","No","Yes",73.1159,19.57,"No",-0.0362121726544447,0,0,0,2,9,3,"No","No","Never","Yes","Baccalaureat","No","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",26,0,66,36.6,9.8,"138"
"18",20.5,"Yes",0,"Female","No","No","No",93.481,21.15,"No",-0.032255020157028,1,0,0,2,9,0,"Yes","Yes","Never","No","Bachelor","No","[0-1000]","No","No","Yes","No","No","No","No","No","No","Yes","No","Yes","No",27,1,67,37.1,8.95,"138"
"19",24.25,"Yes",0,"Female","No","No","No",89.8166,23.03,"Yes",0.242907414159244,0,0,0,0,9,0,"No","No","Active","No","PhD","Current","[0-1000]","No","No","No","No","No","Yes","No","No","No","No","No","Yes","Yes",28,0,56,36.6,9.05,"143"
"20",29.83,"Yes",0,"Female","No","Yes","Yes",82.5172,21.55,"No",-0.227987289719787,1,0,0,1,8,0,"Yes","No","Active","Yes","Bachelor","No","(1000-2000]","No","No","No","No","No","No","No","Yes","No","No","No","Yes","No",29,0,57,36.7,8.95,"144"
"21",20.17,"Yes",0,"Female","Yes","No","No",79.0692,19.84,"No",0.0814610123425234,0,0,0,2,9,0,"No","No","Active","No","PhD","No","[0-1000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",30,0,55,37,9.067,"144"
"22",22.58,"Yes",0,"Female","No","No","Yes",92.2846,23.41,"No",-0.0681675760476724,1,3,0,3,9,3,"Yes","No","Active","No","Vocational","Past","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",31,3,66,36.4,9.05,"145"
"23",24.67,"Yes",2,"Female","Yes","No","Yes",85.7179,25.21,"No",0.180638886806402,1,0,0,2,8,0,"No","No","Never","Yes","Bachelor","Current","(2000-3000]","No","No","Yes","No","No","No","No","No","No","Yes","No","Yes","No",32,0,72,36.9,9.25,"145"
"24",21.17,"Yes",1,"Female","Yes","No","No",87.1121,25.21,"No",0.315859908207269,1,0,0,1,8,0,"No","Yes","Never","No","Bachelor","No","[0-1000]","No","No","Yes","No","No","No","No","No","No","Yes","No","Yes","No",33,2,68,36.8,9.567,"145"
"25",24.33,"Yes",4.5,"Female","Yes","No","Yes",117.368,28.19,"No",0.17578638401199,1,0,0,3,9,0,"No","No","Never","No","Vocational","No","(1000-2000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",34,2,59,36.6,9.583,"145"
"26",24,"Yes",3,"Female","No","No","Yes",94.1144,21.9,"No",0.452098041259144,1,0,0,2,9,3,"No","Yes","Never","Yes","Bachelor","No","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","Yes",37,0,83,37,8.8,"151"
"27",22.58,"Yes",3,"Female","No","No","Yes",73.2125,20.01,"Yes",0.173823397599859,1,3,0,1,8,0,"No","No","Never","No","PhD","No","[0-1000]","No","No","Yes","No","Yes","No","Yes","Yes","Yes","No","Yes","Yes","No",38,0,77,37.4,9.883,"151"
"28",25.17,"Yes",0.833,"Female","Yes","No","Yes",104.689,23.23,"No",0.215009325086051,1,0,0,2,8,3,"No","No","Never","Yes","Bachelor","Current","(1000-2000]","Yes","No","Yes","No","No","No","No","Yes","No","No","No","Yes","Yes",39,0,54,36.2,8.917,"152"
"29",20.75,"Yes",2,"Female","Yes","No","Yes",51.9196,22.86,"No",0.00711974112294783,0,0,0,0,7.5,0,"No","No","Never","Yes","Bachelor","No","[0-1000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",41,0,85,36.7,8.717,"152"
"30",21.42,"Yes",6,"Female","No","No","No",93.3116,27.28,"No",0.0354120266989765,1,0,0,0,8,0,"No","No","Never","No","Bachelor","No","[0-1000]","No","Yes","Yes","Yes","No","No","No","Yes","No","No","No","No","No",42,0,45,36.6,9.167,"157"
"31",23.42,"Yes",3,"Female","Yes","Yes","Yes",121.527,21.71,"No",0.148174185432119,0,0,0,1,8,3,"No","No","Never","Yes","Vocational","No","(2000-3000]","No","No","Yes","No","No","No","No","Yes","No","No","No","No","No",43,0,55,36.8,9.417,"157"
"32",25.67,"Yes",1,"Female","Yes","No","No",97.9985,21.93,"No",0.413590683695951,0,0,0,3,7.5,3,"No","No","Never","Yes","Bachelor","No","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",46,0,65,36.4,8.917,"158"
"33",27.83,"Yes",2,"Female","Yes","Yes","Yes",79.2544,23.91,"No",0.054809581699379,0,3,0,0,8,3,"No","No","Never","No","Baccalaureat","No","(2000-3000]","Yes","No","Yes","No","No","No","No","Yes","No","No","No","No","No",47,0,74,37.1,8.55,"159"
"34",24.92,"No",0,"Female","No","No","Yes",96.4443,22.49,"No",0.638200373837289,1,0,0,1,9,3,"No","Yes","Active","No","Baccalaureat","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","Yes","No","Yes","Yes",49,0,70,36.9,9.3,"159"
"35",27.83,"Yes",3,"Female","Yes","No","No",87.9853,20.57,"Yes",0.0921462232119925,1,0,0,1,9,0,"No","No","Never","No","Bachelor","No","(1000-2000]","No","No","Yes","Yes","No","No","No","Yes","No","No","No","Yes","No",50,0,59,37,9.55,"159"
"36",22.17,"Yes",0,"Female","No","No","Yes",91.8978,24.23,"No",0.406314044275811,0,3,0,1,10,0,"Yes","No","Active","No","PhD","No","(3000-inf]","No","No","Yes","Yes","No","No","No","No","No","No","No","No","No",55,0,64,37.2,9.3,"164"
"37",28.67,"No",0,"Female","Yes","Yes","Yes",109.739,20.95,"No",0.198803011069108,0,3,0,2,7,3,"No","Yes","Never","Yes","Bachelor","No","(3000-inf]","No","No","Yes","Yes","No","Yes","No","No","Yes","Yes","No","Yes","No",56,1,69,36.1,9.817,"164"
"38",26.75,"Yes",1,"Female","Yes","No","Yes",77.7321,24.6,"No",0.493464219994711,2,0,0,2,6.5,3,"No","No","Active","Yes","Vocational","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",57,1,76,37.2,9.283,"164"
"39",20.25,"Yes",4,"Female","No","No","No",88.937,21.79,"No",0.227499926884657,2,0,0,0,7.5,0,"No","No","Never","No","Baccalaureat","No","[0-1000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",60,0,86,37,9.55,"165"
"40",20.92,"Yes",0.5,"Female","No","No","Yes",83.8386,19.22,"Yes",0.44852847893541,0,0,0,1,9,0,"No","No","Active","No","Vocational","No","[0-1000]","No","No","No","No","No","No","No","Yes","No","Yes","No","Yes","No",63,0,59,36.8,9.75,"166"
"41",20.75,"Yes",1,"Female","No","No","Yes",105.16,19.38,"No",-0.286024087039023,1,0,0,2,8.5,3,"No","No","Never","No","Baccalaureat","No","[0-1000]","No","No","Yes","No","No","No","No","No","No","Yes","No","Yes","No",64,0,69,37.2,9.55,"171"
"42",21.75,"Yes",1,"Female","No","No","Yes",65.0187,23.06,"No",0.26536804014957,0,0,0,0,8,0,"No","Yes","Never","No","PhD","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",66,0,61,37.4,9.083,"172"
"43",20.58,"Yes",1.5,"Female","No","No","No",116.627,21.5,"Yes",0.200706348066242,0,0,0,1,7,0,"Yes","Yes","Active","No","Baccalaureat","No","[0-1000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",67,1,72,36.7,9.3,"172"
"44",23.17,"Yes",2,"Female","No","No","Yes",93.0187,18.59,"No",0.0660077741687856,0,3,0,0,7.5,3,"No","No","Never","No","PhD","No","[0-1000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",68,0,58,36.9,9.417,"173"
"45",22.25,"Yes",0,"Female","No","No","Yes",73.1164,19.46,"Yes",0.17309955159777,1,0,0,2,8,0,"No","No","Active","No","Baccalaureat","No","[0-1000]","No","No","No","No","No","No","No","Yes","No","Yes","No","Yes","No",72,0,51,36.8,9.133,"185"
"46",24.25,"Yes",4,"Female","No","No","Yes",53.0291,21.82,"No",0.157508981538383,0,0,0,0,9,0,"No","No","Never","Yes","Baccalaureat","No","(1000-2000]","No","No","No","Yes","No","No","No","Yes","No","Yes","No","Yes","No",74,0,56,36.5,9.8,"185"
"47",25.83,"Yes",2,"Female","No","No","Yes",91.1582,20.56,"No",0.260431630767247,0,3,0,1,9,3,"Yes","Yes","Active","Yes","Bachelor","No","(2000-3000]","No","No","No","No","No","No","No","Yes","No","Yes","No","No","No",75,8.33333333333333,70,36.8,9.05,"186"
"48",23.75,"Yes",1.5,"Female","No","No","Yes",98.5534,21.78,"Yes",0.0496309393615522,0,0,0,1,7,0,"No","No","Never","No","PhD","No","[0-1000]","No","Yes","Yes","No","No","Yes","No","Yes","No","No","No","Yes","No",77,0,61,36.9,8.95,"207"
"49",28.92,"Yes",0,"Female","No","No","Yes",88.8914,19.95,"No",0.554795538554685,1,0,0,2,7,8,"No","No","Never","Yes","Baccalaureat","No","(1000-2000]","Yes","No","No","No","No","No","No","Yes","No","Yes","Yes","Yes","Yes",78,1,60,36.7,9.933,"214"
"50",27.17,"Yes",1,"Female","Yes","Yes","Yes",83.3334816999999,24.38,"No",0.266354670198724,2,0,0,1,7,3,"No","No","Never","Yes","Baccalaureat","No","(3000-inf]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No",79,4.66666666666667,64,37,9.5,"214"
"51",24,"Yes",1,"Female","Yes","No","Yes",113.659,18.67,"No",0.557561492109104,0,0,0,1,8,0,"Yes","Yes","Active","No","Baccalaureat","Current","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No",80,0,62,36.6,9.083,"221"
"52",25.92,"No",1,"Female","Yes","Yes","Yes",95.7762,21.71,"No",0,0,0,0,3,8,3,"No","No","Never","Yes","Baccalaureat","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",81,2,56,36.8,9.083,"227"
"53",29.5,"Yes",1,"Female","No","No","No",93.2435,26.02,"Yes",0.35586490471801,1,3,14,2,7,3,"No","Yes","Never","Yes","Baccalaureat","No","(1000-2000]","No","No","No","No","No","No","No","Yes","No","Yes","No","Yes","Yes",82,4.66666666666667,59,36.7,8.583,"229"
"54",28.5,"No",1,"Female","Yes","Yes","Yes",103.677,24.74,"Yes",0.133056626830479,0,0,0,1,8,0,"No","Yes","Ex","Yes","Bachelor","Current","(2000-3000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No",84,0,53,36.9,9.217,"264"
"55",23.83,"Yes",2,"Female","Yes","No","No",60.993,20.43,"No",0.228209563625707,1,0,0,1,9,3,"No","No","Never","No","PhD","No","(2000-3000]","No","Yes","Yes","No","No","No","No","Yes","No","Yes","No","No","No",85,0,68,36.4,9.817,"269"
"56",22.75,"Yes",0,"Female","Yes","No","Yes",91.562,19.1,"No",-0.187768960044081,1,0,0,1,8,0,"No","No","Never","No","Bachelor","No","(2000-3000]","No","No","Yes","No","No","No","No","Yes","No","No","No","No","No",87,0,62,36.6,9.333,"283"
"57",24.83,"Yes",10,"Female","No","No","Yes",82.4659,31.24,"Yes",-0.0296333376935961,2,3,0,1,6.5,3,"No","Yes","Never","No","Vocational","Past","[0-1000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No",90,2,63,37.2,9.133,"290"
"58",23.33,"Yes",0.333,"Female","Yes","No","Yes",92.0757,27.41,"Yes",0.254688971952831,1,0,0,0,10,0,"No","No","Never","No","PhD","No","[0-1000]","Yes","No","Yes","No","Yes","No","No","Yes","No","Yes","No","No","Yes",92,0,61,36.4,9.2,"291"
"59",21,"Yes",2,"Female","No","No","Yes",104.862,22.22,"No",0.191819519022143,0,0,0,0,9,0,"No","No","Active","No","Baccalaureat","No","(3000-inf]","Yes","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","Yes",93,0,75,36.5,8.717,"297"
"60",20.67,"Yes",4,"Female","No","No","Yes",89.2199,19.59,"Yes",0.145106032242259,0,0,0,0,7,3,"Yes","No","Active","No","Baccalaureat","No","(1000-2000]","Yes","No","No","No","No","No","No","Yes","No","Yes","No","Yes","No",95,2,48,36.8,9.55,"299"
"61",23.25,"Yes",0.666,"Female","No","No","Yes",83.5818,20.9,"No",0.467391236132286,1,0,14,3,6,14,"No","Yes","Ex","No","Vocational","Past","[0-1000]","No","No","No","No","No","No","No","Yes","No","Yes","No","Yes","No",97,8.33333333333333,64,37,9,"304"
"62",22,"Yes",0.333,"Female","No","No","No",85.3957,29,"No",-0.227442316126819,1,0,0,1,12,0,"No","No","Never","No","Bachelor","No","[0-1000]","No","No","Yes","No","No","Yes","No","Yes","No","Yes","No","No","No",98,0,65,37.1,8.917,"312"
"63",26,"Yes",0,"Female","Yes","No","Yes",84.6414,20.9,"No",0.274428048429002,2,0,0,0,8.5,0,"No","No","Never","No","PhD","No","[0-1000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","No","Yes",99,0,55,37.2,9.283,"312"
"64",23.25,"No",0,"Female","No","No","Yes",109.659,20.32,"Yes",-0.323013978362613,1,0,0,3,9,3,"No","No","Active","No","Baccalaureat","Past","[0-1000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No",100,0,55,36.7,9.617,"313"
"65",24,"Yes",0,"Male","No","No","Yes",92.077,31.83,"No",0.441648936557443,1,0,0,1,7,0,"No","Yes","Active","No","Vocational","Current","[0-1000]","No","No","Yes","No","Yes","No","No","No","No","Yes","No","No","Yes",101,1,65,37.3,8.617,"39"
"66",24.17,"Yes",0,"Male","No","No","Yes",89.099,19.88,"Yes",-0.166268347990813,1,14,0,1,9,3,"Yes","Yes","Active","No","Vocational","Past","[0-1000]","No","No","Yes","No","No","Yes","No","No","No","No","No","No","No",102,10.3333333333333,54,36.7,8.883,"39"
"67",23,"Yes",0.5,"Male","Yes","No","No",76.8967,24.87,"No",0.243429716665857,0,0,0,3,8,0,"Yes","No","Ex","No","Baccalaureat","No","[0-1000]","No","No","No","No","No","No","No","No","No","No","No","No","Yes",107,0,66,36.2,9.3,"80"
"68",23.33,"Yes",2,"Male","Yes","No","No",53.5931,28.73,"No",-0.130150946146736,3,0,3,1,7,3,"No","No","Active","No","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",109,0,69,36.3,9.817,"80"
"69",26.83,"Yes",6,"Male","Yes","No","Yes",86.5243,22.34,"No",0.0612937167085643,0,0,0,1,7,0,"No","Yes","Never","No","Baccalaureat","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",111,0,52,36.2,9.517,"80"
"70",28.75,"No",0,"Male","Yes","No","Yes",94.3198,25.43,"Yes",-0.00504999273664153,1,0,0,3,6,3,"No","No","Active","Yes","UpToPrimary","Current","(1000-2000]","No","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",116,2,58,36.3,9.583,"81"
"71",24.83,"Yes",9,"Male","No","No","No",54.5305,23.5,"Yes",0.76735118629321,0,0,0,1,8,0,"No","No","Never","No","Baccalaureat","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",117,0,56,36.4,9.8,"81"
"72",21.5,"No",2,"Male","No","No","Yes",72.8287,26.75,"No",-0.143939230632369,0,0,0,1,7,3,"No","No","Never","No","Baccalaureat","No","[0-1000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","No","No",123,0,50,36.5,8.55,"136"
"73",25.08,"Yes",0,"Male","Yes","No","No",89.8527,23.25,"No",0.29110283243097,0,8,3,1,7,0,"Yes","Yes","Active","Yes","Vocational","Current","(1000-2000]","No","No","Yes","No","No","Yes","No","Yes","No","No","No","No","No",124,3,60,36.5,9.583,"138"
"74",21.83,"Yes",2,"Male","Yes","No","No",73.2158,19.92,"No",0.106495081450391,0,0,0,0,8,0,"No","Yes","Active","No","PhD","No","[0-1000]","No","No","Yes","No","No","No","No","Yes","No","No","No","No","No",125,0,63,36.6,9.667,"143"
"75",23.58,"Yes",6.75,"Male","No","No","No",89.9497,21.95,"No",0.173339648064902,2,0,0,1,6.5,3,"No","Yes","Never","Yes","Baccalaureat","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",128,0,64,36.2,9.05,"145"
"76",22.92,"Yes",2.25,"Male","Yes","No","Yes",54.7196,23.04,"Yes",0.106307787348437,0,0,0,1,8,3,"No","No","Active","No","Baccalaureat","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",130,0,50,36.3,9.75,"151"
"77",22.75,"Yes",10,"Male","No","No","Yes",98.7081,23.05,"No",0.579972461365124,1,0,0,1,7,0,"No","No","Never","No","PhD","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","Yes","No",135,0,59,36.5,9.3,"157"
"78",29.5,"No",4,"Male","Yes","No","Yes",90.6661,22.49,"No",0.116969806937025,0,0,0,1,9,3,"No","Yes","Active","Yes","Vocational","Current","(2000-3000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","Yes",137,0,44,36.3,9.3,"158"
"79",24.17,"Yes",2,"Male","No","No","Yes",72.8091,31.14,"No",0.191147899364929,0,0,0,3,7,3,"No","No","Never","Yes","Baccalaureat","Current","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",139,0,57,36.3,8.917,"172"
"80",26.58,"Yes",0.333,"Male","No","No","Yes",88.4892,21.63,"No",0.31759408101986,0,0,3,1,9,3,"No","No","Never","Yes","Baccalaureat","Current","[0-1000]","Yes","No","Yes","No","No","No","No","Yes","No","No","No","No","No",140,0,67,36.3,9.133,"172"
"81",24.33,"Yes",8,"Male","Yes","No","Yes",78.4983,21.55,"No",-0.0892396408121603,0,0,0,2,7,0,"No","No","Never","No","Vocational","Past","(3000-inf]","No","No","Yes","No","No","No","No","No","No","Yes","No","No","No",141,0,45,36.3,9.8,"173"
"82",20.92,"Yes",5,"Male","No","No","No",91.3991,21.95,"No",0.0668127688050154,1,0,0,0,7,3,"No","Yes","Never","No","Bachelor","No","[0-1000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",142,0,50,37.2,9.133,"173"
"83",20.58,"Yes",4.5,"Male","No","No","Yes",78.6597,21.36,"Yes",0.417204379298497,0,3,0,0,8,3,"Yes","No","Active","No","Baccalaureat","No","(3000-inf]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","Yes",143,0,46,36.7,9.617,"173"
"84",26.83,"Yes",0.5,"Male","Yes","No","No",86.8905,18.92,"Yes",0.201503367619692,0,0,0,1,8,0,"No","Yes","Never","Yes","Bachelor","Current","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","Yes",144,2,49,36.5,9.2,"186"
"85",26.75,"No",0,"Male","Yes","Yes","Yes",67.1009,24.75,"No",0.368132641919954,1,0,0,1,7.5266,0,"No","No","Never","No","Vocational","Past","(2000-3000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","No","No",145,0,70,36.6,9.467,"199"
"86",25.5,"Yes",5,"Male","No","No","Yes",83.3591,22.83,"No",0.255029950234168,0,0,0,1,8,0,"Yes","No","Never","No","PhD","No","[0-1000]","No","No","No","No","No","No","No","Yes","No","Yes","No","Yes","No",146,0,51,36.2,9.167,"200"
"87",23.92,"Yes",3,"Male","No","No","No",98.5744,20.45,"No",0.112403730364827,1,0,3,3,8,3,"Yes","No","Ex","Yes","PhD","No","(1000-2000]","No","No","Yes","No","No","Yes","No","Yes","No","Yes","No","No","No",151,1,50,36.3,9.317,"206"
"88",29.25,"Yes",4,"Male","Yes","Yes","Yes",96.5233,22.22,"No",0.270540673516081,0,0,0,0,6.5,0,"No","No","Never","Yes","Bachelor","No","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","Yes",152,0,62,36,9.3,"207"
"89",24,"Yes",4.5,"Male","No","No","No",83.8887,20.3,"Yes",0.403116404659954,0,3,0,0,7.5,0,"No","Yes","Never","No","PhD","No","[0-1000]","No","No","No","No","No","No","No","Yes","No","Yes","No","Yes","No",153,3,55,36.2,9.617,"214"
"90",27.58,"Yes",0.167,"Male","No","No","No",88.1881,22.28,"No",0.391857059685499,0,0,0,2,7,3,"Yes","No","Active","No","Bachelor","Past","[0-1000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No",154,1,54,36,8.883,"220"
"91",23.17,"Yes",0.999,"Male","Yes","No","Yes",79.7143,20.01,"No",0.25366485579352,0,0,0,3,7.9115,3,"Yes","Yes","Active","No","PhD","No","[0-1000]","No","No","No","No","Yes","No","No","Yes","No","Yes","No","Yes","No",156,2,53,36.7,9.383,"221"
"92",27.5,"Yes",0,"Male","No","No","Yes",100.499,30.63,"No",0.208159960457665,1,0,0,3,8,0,"Yes","No","Active","Yes","PhD","No","(1000-2000]","No","Yes","Yes","No","No","No","No","No","No","No","No","Yes","No",161,0,76,36.6,9.8,"229"
"93",28.67,"Yes",4,"Male","Yes","No","No",90.8587,24.3,"Yes",0.288261765535949,0,0,0,2,7,0,"No","No","Never","Yes","Bachelor","No","(3000-inf]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",162,0,59,35.9,8.767,"241"
"94",24.83,"Yes",1,"Male","No","No","No",74.9587,19.26,"No",0.271646217978772,0,0,0,1,8,0,"No","No","Never","No","Bachelor","No","[0-1000]","No","No","Yes","No","No","No","No","Yes","No","No","No","No","No",164,2,57,36.7,9.633,"248"
"95",28.42,"Yes",2.5,"Male","No","No","No",90.3038,24.89,"No",-0.0734828299488582,0,0,0,0,8,3,"No","Yes","Ex","No","UpToPrimary","No","[0-1000]","No","No","No","No","Yes","No","No","No","No","Yes","No","Yes","No",165,0,52,36.3,9.217,"248"
"96",23.58,"Yes",4.5,"Male","No","No","Yes",105.431,24.41,"No",0.278967170901516,0,0,0,0,7.5,0,"No","No","Never","No","PhD","No","(3000-inf]","No","No","No","No","No","Yes","No","Yes","No","No","No","Yes","No",166,0,53,36.2,8.95,"255"
"97",26.17,"No",1,"Male","No","No","No",109.689,23.16,"No",0.212856824225765,0,0,0,1,8,0,"No","No","Never","No","Bachelor","No","[0-1000]","No","No","Yes","No","No","No","Yes","Yes","Yes","Yes","No","Yes","No",169,0,65,36.2,8.8,"264"
"98",20.42,"Yes",4,"Male","No","No","Yes",87.267,22.53,"No",0.0450449481827835,1,0,0,1,8,0,"Yes","No","Active","No","PhD","No","[0-1000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",170,0,74,36.1,9.05,"264"
"99",24.08,"Yes",0,"Male","No","No","Yes",61.3491,19.95,"No",0.365923379663536,0,0,0,2,7.5,0,"No","No","Never","No","PhD","No","[0-1000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",171,0,64,36.6,9.55,"264"
"100",21.25,"Yes",0,"Male","No","No","Yes",105.383,21.32,"No",0.260319068355467,0,0,0,0,9,3,"No","No","Never","No","Bachelor","Past","[0-1000]","No","No","Yes","No","No","No","No","Yes","No","No","No","No","No",173,0,64,36,9.7,"264"
"101",23.17,"Yes",2.001,"Male","No","No","No",80.333,22.72,"No",0.0046548621602023,0,0,0,2,8,3,"No","No","Ex","No","Bachelor","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","Yes","No","Yes","No",175,0,58,36.2,9.083,"270"
"102",20.58,"Yes",1.5,"Male","No","No","Yes",61.5933,21.29,"No",0.0992767462871634,0,0,0,2,8,0,"Yes","No","Active","No","Bachelor","No","[0-1000]","No","No","Yes","No","No","No","No","No","No","No","Yes","Yes","No",176,0,42,36.3,9.8,"270"
"103",25.92,"Yes",5,"Male","No","No","Yes",85.7497,23.87,"No",-0.00187600499875536,0,0,0,0,9,0,"No","No","Ex","Yes","Bachelor","No","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","Yes",177,0,52,36.2,9.483,"270"
"104",28.67,"No",0,"Male","Yes","Yes","Yes",93.4987,22.47,"Yes",0.145364552653768,0,0,0,2,8,0,"No","No","Active","Yes","Bachelor","Past","(2000-3000]","Yes","No","Yes","Yes","No","No","No","No","No","Yes","No","Yes","No",181,0,51,36,9.333,"271"
"105",26.67,"Yes",3,"Male","Yes","Yes","Yes",101.148,27.71,"Yes",0.0984050040950076,0,0,0,2,8,3,"No","No","Never","Yes","Bachelor","No","(2000-3000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",183,1,64,36.3,9.567,"276"
"106",29.75,"Yes",6,"Male","No","No","No",101.643,29.66,"Yes",-0.0841937689182406,1,3,3,1,5,3,"No","Yes","Active","Yes","Baccalaureat","No","(1000-2000]","No","No","Yes","No","Yes","No","No","Yes","No","Yes","No","Yes","No",184,2,46,36.5,9.817,"276"
"107",27.83,"No",1,"Male","Yes","No","No",108.556,21.27,"No",0.271862655244399,1,0,0,1,8,0,"No","No","Never","Yes","Bachelor","No","(3000-inf]","No","Yes","Yes","No","No","No","No","No","No","Yes","No","Yes","No",187,0,50,36.2,9.533,"291"
"108",26.33,"No",9,"Male","Yes","No","No",79.3428,21.29,"No",0.265921239540493,0,0,0,0,8,0,"No","No","Never","Yes","Vocational","Current","(1000-2000]","No","No","Yes","No","No","Yes","No","Yes","No","No","No","Yes","Yes",188,0,43,36.1,9.383,"291"
"109",24.58,"No",0.25,"Male","No","No","No",99.1132,23.66,"No",0.226627323653776,1,0,0,2,7,0,"No","No","Never","No","PhD","No","(3000-inf]","No","No","Yes","No","No","Yes","No","Yes","No","Yes","No","Yes","No",189,0,64,36.1,9.5,"292"
"110",20.92,"Yes",1.5,"Male","No","No","No",89.5685,21.16,"Yes",0.326161480487981,1,0,0,3,8,3,"No","Yes","Never","No","PhD","Past","[0-1000]","No","No","Yes","No","No","No","No","Yes","Yes","Yes","No","Yes","No",190,2,65,36.3,9.35,"292"
"111",21.92,"No",1.5,"Male","Yes","No","Yes",71.1385,21.22,"No",-0.0866371284272168,0,0,0,0,8.5,0,"No","No","Never","No","Baccalaureat","Current","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No",193,0,55,36,9.817,"298"
"112",21.67,"Yes",4.5,"Male","No","No","No",93.0342,20.6,"No",0.119345170097838,0,0,0,1,7,0,"Yes","No","Active","No","PhD","No","(1000-2000]","No","No","Yes","No","Yes","No","No","Yes","Yes","Yes","No","Yes","No",194,2,45,36.3,9.117,"306"
"113",26.92,"Yes",6,"Male","Yes","No","Yes",87.1107,22.85,"No",0.218661252871772,0,0,0,1,9,3,"No","No","Active","Yes","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",195,2,60,36.3,8.867,"311"
"114",20.33,"No",4.5,"Male","No","No","Yes",98.7032,23.25,"No",0.0537033226866872,0,0,0,0,9,0,"No","No","Never","No","Vocational","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",196,0,56,36.2,9.817,"312"
"115",23.17,"Yes",1,"Male","No","No","Yes",89.2849,31.91,"No",0.50727851312403,3,3,0,2,7.5,3,"Yes","Yes","Active","No","Vocational","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",197,1,82,36.3,9.05,"313"
"116",28.67,"Yes",10,"Male","No","No","Yes",72.7713,18.72,"Yes",0.135914271531031,0,0,0,1,8,0,"No","No","Ex","No","UpToPrimary","No","[0-1000]","No","No","No","No","No","No","Yes","Yes","Yes","No","No","Yes","No",198,1,52,36.1,9.083,"313"
"117",22,"Yes",8,"Male","No","No","No",72.025,22.43,"No",0.450097047381507,0,0,0,2,7.5,3,"No","No","Ex","No","Baccalaureat","No","(1000-2000]","No","No","Yes","Yes","No","No","No","Yes","No","No","No","No","No",199,0,66,36.8,8.8,"318"
"118",20.25,"Yes",2,"Male","No","No","Yes",105.398,20.98,"No",0.740207833196685,2,0,0,1,9,0,"Yes","No","Never","No","Baccalaureat","Current","(2000-3000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","Yes",200,0,54,36.2,9.55,"319"
"119",37.67,"Yes",0,"Female","Yes","Yes","No",106.027,21.19,"No",-0.0819411839546812,0,0,0,0,8,0,"No","No","Never","Yes","Bachelor","No","(2000-3000]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","No","No",201,0,66,36.5,8.917,"18"
"120",35.75,"No",0,"Female","Yes","Yes","Yes",73.4697,21.61,"No",0.200866825258203,0,0,0,1,7,0,"No","Yes","Active","Yes","Baccalaureat","No","(2000-3000]","Yes","No","No","No","No","Yes","No","No","No","No","No","No","No",202,0,66,36.4,9.3,"18"
"121",39.58,"No",1,"Female","Yes","Yes","No",86.9523,20.65,"No",0.200049714044624,0,0,0,2,8,3,"No","No","Active","Yes","PhD","No","(2000-3000]","No","No","Yes","Yes","No","No","No","No","No","No","No","No","No",203,1,61,36.9,8.683,"18"
"122",37.58,"No",0.999,"Female","No","No","No",84.9141,22.71,"Yes",-0.0560487916916846,0,3,0,2,7,3,"No","Yes","Active","No","Baccalaureat","Past","(1000-2000]","Yes","No","No","No","No","No","No","No","No","No","No","No","No",204,1,57,36.8,9.583,"18"
"123",30.75,"Yes",0.666,"Female","No","Yes","Yes",81.2753,20.32,"Yes",0.0126502481978411,0,3,0,3,8,3,"No","No","Active","Yes","PhD","No","(1000-2000]","No","No","Yes","Yes","No","No","No","No","No","No","No","No","No",205,0,80,36.7,8.55,"19"
"124",39.42,"Yes",3,"Female","No","Yes","Yes",87.8847,25.39,"No",0.318810615586316,2,0,0,0,8,3,"No","Yes","Ex","Yes","Vocational","Past","(1000-2000]","No","No","No","No","No","Yes","No","No","No","No","No","No","No",206,1,54,36.5,8.883,"19"
"125",30.25,"Yes",1,"Female","Yes","No","No",88.6247,19.05,"No",0.194286479946881,0,0,3,2,8,3,"No","Yes","Never","Yes","PhD","No","(1000-2000]","Yes","No","No","Yes","No","No","No","No","No","No","No","No","No",207,0,80,36.2,9.217,"19"
"126",31.5,"No",1,"Female","Yes","No","No",73.0046,19.83,"No",0.456773800133818,0,0,3,1,6.5,3,"No","Yes","Active","Yes","Bachelor","Past","(1000-2000]","No","No","No","No","Yes","No","No","No","No","No","No","No","No",208,1,69,36.5,9.55,"19"
"127",38.58,"No",4,"Female","Yes","Yes","Yes",111.19,21.09,"No",0.289202788695075,1,3,0,2,8,3,"No","No","Never","Yes","PhD","No","(3000-inf]","No","No","No","No","Yes","Yes","No","No","No","No","No","No","No",210,0,54,36.5,8.833,"19"
"128",37.33,"No",2,"Female","Yes","Yes","Yes",86.9897,23.14,"No",0.248009886327417,1,0,0,1,7,3,"No","No","Never","Yes","PhD","No","(2000-3000]","Yes","Yes","Yes","No","No","No","No","No","No","No","No","No","No",211,0,75,36.7,9.25,"19"
"129",30.25,"Yes",0.666,"Female","No","No","No",77.488,24.38,"No",0.471904441458536,1,3,3,1,7,3,"No","No","Never","No","PhD","No","(1000-2000]","No","No","No","Yes","No","No","No","No","No","No","No","No","No",212,2,57,36.7,9.733,"19"
"130",33.92,"No",0,"Female","Yes","Yes","Yes",94.4193,31.23,"Yes",0.177617779017154,1,0,0,0,9,0,"No","Yes","Never","No","Bachelor","No","(2000-3000]","No","No","Yes","Yes","Yes","No","No","No","No","Yes","No","Yes","No",213,0,64,36.5,8.433,"53"
"131",37.92,"No",2,"Female","No","No","Yes",99.7428,23.04,"No",0.447594727690631,1,0,0,1,8.5,0,"No","No","Never","Yes","PhD","No","(2000-3000]","Yes","No","Yes","No","No","Yes","No","Yes","No","No","No","Yes","Yes",214,0,57,36.5,8.767,"53"
"132",37.67,"No",2,"Female","Yes","Yes","Yes",93.7597,25.21,"No",-0.133172053935984,2,0,0,1,8,3,"No","Yes","Ex","Yes","PhD","Past","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","Yes","No",215,1,64,36.4,9.233,"53"
"133",37.92,"No",2,"Female","Yes","Yes","Yes",87.9069,24.43,"Yes",0.464711996737842,0,0,0,1,7,3,"No","No","Never","Yes","Bachelor","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",216,0,59,36.8,8.833,"53"
"134",38.25,"No",1.5,"Female","Yes","No","No",79.5201,27.47,"No",0.469666475661845,1,0,0,3,6.5,0,"No","Yes","Never","Yes","Vocational","No","(1000-2000]","No","No","No","No","No","No","No","No","No","Yes","No","No","No",217,0,68,36.4,8.683,"54"
"135",32.83,"No",3,"Female","Yes","Yes","No",107.017,19.59,"No",0.302556515625454,0,0,0,0,7.5,0,"Yes","No","Active","Yes","PhD","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","No","Yes","No",220,0,50,36.5,8.917,"54"
"136",33.58,"Yes",0,"Female","No","Yes","No",99.8692,27.28,"Yes",-0.17228497279931,3,0,0,1,7,0,"No","No","Active","Yes","Vocational","Current","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",222,0,63,36.6,9.567,"54"
"137",32.83,"No",3,"Female","Yes","Yes","No",86.7197,25.72,"No",0.290371927481925,1,0,0,3,7,14,"No","No","Never","Yes","PhD","No","(2000-3000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",223,0,57,36,8.8,"109"
"138",32.75,"No",1,"Female","Yes","Yes","No",88.5908,19.22,"No",-0.233707356177021,0,0,0,1,10,0,"No","No","Never","No","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",224,0,56,36,9.317,"109"
"139",31.58,"No",0.75,"Female","Yes","Yes","Yes",81.101,22.75,"No",0.408171415949873,1,0,0,0,8.5,0,"No","No","Ex","Yes","Vocational","Past","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","Yes","Yes",225,0,67,36.6,8.7,"109"
"140",31.25,"Yes",1,"Female","No","Yes","Yes",93.6074969,22.98,"No",0.174626520797407,2,0,0,2,8,0,"No","No","Never","No","Vocational","No","[0-1000]","No","No","Yes","No","No","No","No","No","No","Yes","No","No","No",226,0,59,36.7,8.967,"111"
"141",37.08,"No",3,"Female","Yes","Yes","Yes",87.5307,20.51,"No",-0.206054482433124,0,0,3,1,8,0,"No","No","Never","Yes","Vocational","Past","(2000-3000]","Yes","No","Yes","Yes","No","No","No","Yes","No","No","No","No","No",227,1,59,36.8,9.333,"111"
"142",31.25,"No",3,"Female","Yes","Yes","Yes",97.5885,27.39,"No",0.0956493605063124,1,3,0,1,8,8,"No","Yes","Ex","No","Baccalaureat","No","(3000-inf]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No",229,0,57,36.7,9.567,"131"
"143",35.75,"No",0,"Female","Yes","Yes","No",85.6672,19.57,"No",0.076309188935886,0,0,0,0,9,0,"No","No","Never","No","Baccalaureat","Past","(3000-inf]","No","No","Yes","Yes","No","No","No","Yes","No","No","No","Yes","No",230,1,55,37.2,9.55,"137"
"144",30.5,"No",0,"Female","Yes","Yes","Yes",77.1598,24.85,"No",0.180701359286399,1,0,0,0,8,0,"No","No","Never","Yes","PhD","No","(2000-3000]","Yes","Yes","Yes","No","No","No","No","No","No","Yes","No","Yes","No",231,0,77,36.4,9.033,"138"
"145",35.17,"No",2,"Female","Yes","Yes","No",108.192,23.18,"No",0.364810590357929,1,0,0,0,7,0,"No","No","Active","Yes","Baccalaureat","No","(3000-inf]","No","No","No","No","No","No","No","Yes","No","No","No","Yes","Yes",232,0,73,36.6,9.133,"138"
"146",36.25,"No",1.5,"Female","Yes","Yes","No",94.1185,20.43,"No",-0.102662341897148,0,0,0,0,7,0,"No","No","Never","Yes","Baccalaureat","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","Yes","Yes",233,0,70,37,8.8,"143"
"147",38.58,"No",1,"Female","No","No","Yes",107.743,29.31,"Yes",-0.120438235381624,2,0,0,1,8,0,"No","Yes","Never","No","PhD","Past","(1000-2000]","Yes","No","Yes","No","No","No","No","Yes","No","Yes","No","No","No",234,0,85,36.8,9.3,"145"
"148",39.33,"Yes",2,"Female","Yes","Yes","Yes",88.142,29.41,"Yes",0.130841418443987,2,0,0,0,5.5,0,"No","No","Never","Yes","Bachelor","No","(1000-2000]","No","No","No","Yes","Yes","No","No","No","No","No","No","Yes","No",235,0,65,37.2,9.85,"145"
"149",36.25,"No",0,"Female","Yes","Yes","Yes",98.4273,20.04,"Yes",0.126420610516595,0,0,3,1,7.65855,3,"No","Yes","Never","Yes","PhD","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",236,2,70,36.3,8.767,"150"
"150",34.83,"No",0,"Female","Yes","Yes","Yes",96.6805,28.8,"Yes",0.439332693830263,2,0,0,2,7,3,"No","No","Never","Yes","UpToPrimary","No","(2000-3000]","No","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",237,0,69,36.7,9.317,"151"
"151",37.33,"No",1,"Female","Yes","Yes","No",91.1416,26.02,"No",0.395899467023501,1,0,0,2,6,0,"No","No","Ex","Yes","Baccalaureat","No","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No",238,0,58,37.2,9.8,"151"
"152",33.67,"No",0,"Female","Yes","Yes","Yes",100.566,21.1,"No",-0.0954281390997616,1,0,0,0,8,0,"No","No","Active","Yes","PhD","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","No","Yes",239,0,76,37.2,9.4,"151"
"153",32.33,"No",2,"Female","No","No","Yes",93.8361,22.06,"Yes",0.420741988696073,0,0,0,1,8,0,"No","No","Never","Yes","PhD","No","(1000-2000]","No","No","No","No","No","No","Yes","Yes","No","No","No","Yes","Yes",240,0,70,37.1,9.533,"151"
"154",31.58,"Yes",1,"Female","Yes","No","No",86.3117,28.98,"No",-0.181640060104492,1,0,0,0,9,0,"No","No","Ex","No","Vocational","No","(2000-3000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",241,0,68,36.7,9.267,"152"
"155",35.5,"No",0.25,"Female","Yes","Yes","Yes",88.3668,29.96,"Yes",-0.0726205512073196,2,0,0,3,6,3,"No","Yes","Never","No","Bachelor","No","(3000-inf]","No","No","Yes","No","No","Yes","No","Yes","No","Yes","No","Yes","No",242,0,62,37.4,9.267,"157"
"156",30.5,"No",0.5,"Female","Yes","Yes","No",95.9734,24,"No",0.263567604134189,0,3,0,1,8.5,3,"No","No","Never","No","Bachelor","No","(3000-inf]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",243,2.66666666666667,58,37.1,9.533,"158"
"157",31.67,"Yes",2,"Female","Yes","No","No",100.685,19.81,"No",0.059604095802386,0,3,0,1,7,3,"Yes","Yes","Active","No","Vocational","No","(1000-2000]","No","Yes","Yes","No","No","No","No","Yes","No","No","No","Yes","No",244,1,55,36.2,8.933,"159"
"158",34.92,"No",0.5,"Female","Yes","Yes","Yes",93.184,19.81,"Yes",0.402983780971532,0,0,0,3,8,3,"No","No","Active","Yes","PhD","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","Yes","No","Yes","No",245,0,82,36.8,8.8,"165"
"159",35.83,"Yes",0,"Female","Yes","Yes","No",86.3538,22.58,"Yes",0.084927403833393,1,0,0,1,8.5,0,"No","No","Never","Yes","Baccalaureat","No","(1000-2000]","No","Yes","Yes","No","Yes","Yes","No","No","No","No","No","Yes","No",246,0,67,36.7,9.05,"165"
"160",33.75,"Yes",0.5,"Female","Yes","No","Yes",116.249,20.43,"No",0.303145413786602,0,0,3,2,8,3,"No","No","Never","Yes","Bachelor","No","(1000-2000]","No","No","Yes","No","Yes","No","No","No","No","Yes","No","Yes","No",249,2,60,37,8.8,"171"
"161",39.17,"No",2,"Female","Yes","Yes","No",80.4981,20.2,"No",0.282342628813773,0,0,0,0,8.5,0,"No","No","Never","Yes","Baccalaureat","No","(2000-3000]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","Yes","Yes",250,0,57,36.7,8.817,"171"
"162",32,"Yes",0.667,"Female","No","No","No",79.8331,21.22,"No",0.266621175425962,1,3,0,1,7.8547,8,"No","No","Active","Yes","Baccalaureat","No","(1000-2000]","Yes","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No",251,0,49,36.3,8.8,"172"
"163",38.92,"No",1,"Female","Yes","Yes","Yes",112.551,24.52,"No",0.261076915254263,1,0,0,2,8,3,"No","Yes","Active","Yes","Vocational","No","(2000-3000]","Yes","No","Yes","No","No","Yes","No","Yes","No","Yes","No","Yes","Yes",252,0,61,36.8,9.55,"172"
"164",33.33,"Yes",2,"Female","No","No","No",92.2197,20.83,"No",0.296767994021486,0,3,3,2,8,3,"No","No","Active","Yes","Bachelor","Past","(1000-2000]","Yes","No","Yes","No","No","Yes","No","Yes","No","Yes","No","Yes","No",253,0,67,36.3,9.3,"178"
"165",30,"No",0,"Female","Yes","Yes","No",87.0672,27.4,"Yes",0.383450683708268,1,0,0,0,7,0,"No","No","Never","Yes","Vocational","No","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",254,0,64,36.9,9.583,"178"
"166",37.42,"No",1,"Female","No","Yes","No",96.1791,20.57,"No",0.409655791849946,0,0,0,1,7,3,"No","No","Never","Yes","Bachelor","No","(2000-3000]","Yes","No","Yes","Yes","No","Yes","No","Yes","No","No","No","Yes","Yes",255,1,60,36.7,9.2,"178"
"167",38.17,"Yes",14,"Female","No","No","No",75.2122,30.11,"Yes",0.334092317045299,1,0,0,0,7,3,"No","Yes","Never","Yes","Baccalaureat","No","(1000-2000]","Yes","Yes","Yes","Yes","No","No","No","No","No","Yes","Yes","Yes","No",258,0,66,36.7,9.05,"179"
"168",38.75,"Yes",0.25,"Female","Yes","Yes","Yes",89.4446,27.7,"Yes",0.36408174141107,2,3,0,1,8,3,"No","Yes","Never","Yes","Vocational","Past","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","Yes",259,0,72,36,9.5,"179"
"169",38.83,"No",0,"Female","Yes","Yes","Yes",95.6215,21.56,"No",0.346108370399169,1,0,0,2,8,0,"No","No","Ex","Yes","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","No","No","Yes","No","Yes","Yes","Yes","No",260,0,58,36.8,8.8,"179"
"170",33.75,"No",0,"Female","Yes","Yes","No",82.5888,31.58,"Yes",0.317125850089673,2,0,0,1,10,3,"No","No","Never","Yes","Baccalaureat","No","(2000-3000]","No","No","No","No","No","No","No","Yes","No","No","No","Yes","No",261,1,62,37,8.85,"185"
"171",30.42,"Yes",1.334,"Female","Yes","No","No",81.578,24.53,"No",0.358649104316949,1,0,0,1,6,3,"No","Yes","Never","Yes","PhD","No","(2000-3000]","No","Yes","Yes","Yes","No","No","No","Yes","No","No","No","Yes","Yes",262,0,68,36.6,8.8,"186"
"172",34.5,"Yes",4,"Female","No","Yes","Yes",74.5295,18.73,"No",0.273861720149019,0,0,0,2,7,0,"No","Yes","Never","No","Vocational","Past","[0-1000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",263,0,60,36.4,9.233,"187"
"173",35.5,"No",5,"Female","Yes","No","Yes",100.068,25.01,"No",0.286607653098794,1,3,0,2,7,0,"Yes","No","Active","Yes","Baccalaureat","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",266,1,46,36.1,8.633,"200"
"174",38,"No",0,"Female","Yes","Yes","Yes",90.4756,25.06,"No",0.211021208595012,1,0,0,2,7,0,"No","No","Never","Yes","PhD","No","(3000-inf]","No","No","Yes","No","No","Yes","No","Yes","No","Yes","No","Yes","Yes",267,0,91,36.5,9,"200"
"175",30.67,"No",0,"Female","Yes","No","Yes",97.7992,24.15,"Yes",0.578344058700272,1,0,0,1,7.5,0,"No","Yes","Never","Yes","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No",269,0,61,36.6,9.717,"207"
"176",36.75,"No",5,"Female","No","No","Yes",106.723,22.83,"No",0.656666166026759,0,0,0,1,7.5,0,"No","No","Ex","Yes","Bachelor","No","(1000-2000]","Yes","No","Yes","Yes","No","No","No","Yes","No","Yes","No","Yes","No",270,0,49,36.7,9.583,"207"
"177",38.75,"No",1.5,"Female","Yes","Yes","Yes",105.169,23.05,"Yes",0.471932489510737,1,0,3,0,7.5,3,"No","No","Never","Yes","Baccalaureat","No","(3000-inf]","No","No","No","No","No","No","No","Yes","No","No","No","Yes","No",271,0,52,36.2,9.167,"221"
"178",39.92,"No",0.167,"Female","Yes","Yes","Yes",76.5795,27.66,"No",0.304769540726515,2,0,0,0,9.5,3,"No","No","Active","Yes","Vocational","No","(3000-inf]","No","No","Yes","Yes","No","No","No","No","No","No","No","No","No",272,0,57,36.3,9.8,"256"
"179",31.75,"No",4,"Female","No","No","Yes",96.6203,22.46,"No",0.471623782808445,1,0,0,1,8,0,"No","No","Never","Yes","PhD","No","(1000-2000]","Yes","Yes","No","No","No","No","No","Yes","Yes","Yes","No","Yes","Yes",273,0,55,36.5,9.333,"257"
"180",33.17,"No",4.5,"Female","Yes","Yes","No",92.0935,21.1,"Yes",0.203436592299487,1,0,0,1,8,0,"No","No","Ex","Yes","Baccalaureat","No","(3000-inf]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",274,1,50,36.5,9.833,"257"
"181",31.25,"Yes",2.25,"Female","Yes","Yes","No",72.8418,23.38,"No",0.284324302161128,1,0,0,3,7,3,"No","No","Ex","Yes","Vocational","Past","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No",276,0,57,36.7,9.333,"263"
"182",31.67,"No",2.5,"Female","No","Yes","Yes",107.152,21.54,"No",0.0657746040825623,1,3,0,1,6,3,"No","Yes","Never","Yes","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",277,0,53,36.7,9.583,"263"
"183",33,"Yes",0.25,"Female","No","No","Yes",98.4528,20.86,"No",0.252428565492364,0,0,0,3,7,3,"No","Yes","Active","Yes","Bachelor","No","(1000-2000]","Yes","No","Yes","Yes","Yes","No","No","No","No","Yes","No","No","No",278,2,63,37.3,8.55,"269"
"184",40,"No",0.5,"Female","Yes","No","No",93.45,23.51,"Yes",0.0765031626471779,1,0,0,0,8,0,"No","No","Never","Yes","Baccalaureat","No","(1000-2000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",280,0,44,37,9.383,"269"
"185",37.5,"No",2,"Female","Yes","Yes","Yes",104.723,22.13,"Yes",0.178457992334788,1,3,14,1.262,7.30128333333333,14,"No","Yes","Active","No","Vocational","Past","(1000-2000]","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No","Yes","No",281,10.3333333333333,73,36.4,9.717,"270"
"186",39.5,"No",0,"Female","No","Yes","No",93.5226,25.14,"Yes",0.161613435687058,2,3,0,1.484,6.5,8,"No","Yes","Active","Yes","PhD","Past","(2000-3000]","Yes","No","Yes","Yes","No","No","No","Yes","No","Yes","No","Yes","No",282,0,55,36.5,9.117,"271"
"187",37.5,"Yes",0.5,"Female","No","Yes","No",119.089,24.44,"Yes",0.467340144648454,1,3,0,0,8,8,"Yes","Yes","Never","Yes","Bachelor","No","(1000-2000]","No","No","Yes","Yes","No","No","No","Yes","No","Yes","No","Yes","Yes",283,3,65,36.3,9.417,"277"
"188",35.5,"Yes",14,"Female","No","Yes","Yes",75.6747,25.39,"No",0.321594859713471,1,0,0,0,8,3,"No","Yes","Ex","Yes","Vocational","No","[0-1000]","No","No","No","No","Yes","No","No","No","No","Yes","No","No","No",284,0,45,36.4,9.083,"278"
"189",30.42,"No",0.5,"Female","Yes","No","Yes",107.987,22.18,"No",0.213151225077173,1,0,0,0,9,0,"No","No","Never","Yes","PhD","No","(3000-inf]","No","No","Yes","No","No","No","No","Yes","No","No","No","No","No",285,0,71,36.9,9.433,"278"
"190",30.67,"No",0,"Female","Yes","Yes","Yes",112.586,27.68,"No",0.297470184897761,2,0,0,0,10,0,"No","No","Never","No","Vocational","No","(2000-3000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","Yes",286,0,46,36.6,9.617,"283"
"191",32,"No",2,"Female","Yes","Yes","No",98.3728,22.72,"Yes",0.0762071507498174,2,0,0,0,7.5,3,"No","Yes","Never","Yes","Baccalaureat","No","(2000-3000]","No","No","No","No","No","No","No","Yes","No","Yes","No","Yes","No",287,1,70,37.1,9.417,"283"
"192",36.25,"Yes",1,"Female","Yes","Yes","No",86.7328,31.83,"No",0.101688587045476,2,0,0,1.513,6,3,"No","Yes","Ex","Yes","Vocational","No","(2000-3000]","Yes","No","Yes","Yes","Yes","Yes","No","Yes","No","Yes","No","Yes","No",288,1,64,36,9.55,"284"
"193",37.92,"No",0,"Female","No","No","Yes",89.2411,20.95,"No",0.288896820609813,0,0,0,3,6.5,3,"No","Yes","Active","Yes","Baccalaureat","Past","(1000-2000]","Yes","No","Yes","Yes","No","No","No","Yes","No","Yes","No","No","No",289,2,61,36.2,9.033,"284"
"194",39.83,"No",0,"Female","Yes","Yes","No",68.4672,28.19,"No",-0.197881593859462,1,3,3,1,8,3,"No","Yes","Never","Yes","Baccalaureat","No","(2000-3000]","Yes","No","Yes","No","No","Yes","No","Yes","No","Yes","No","Yes","Yes",290,2,55,36.4,8.667,"284"
"195",30.75,"No",0,"Female","Yes","Yes","Yes",121.454,22.26,"No",0.0865051039598972,0,0,0,1,8,3,"No","No","Never","Yes","Baccalaureat","No","(3000-inf]","No","No","Yes","Yes","No","No","No","Yes","No","Yes","No","Yes","No",291,0,60,36.7,9.8,"285"
"196",32.33,"Yes",2,"Female","Yes","Yes","Yes",101.836,24.91,"No",-0.309984838316908,2,0,0,1,8,3,"No","No","Active","Yes","Baccalaureat","Past","(3000-inf]","No","No","No","No","No","No","No","Yes","No","No","No","Yes","No",292,0,68,36.3,9.483,"285"
"197",37.92,"No",3,"Female","Yes","Yes","Yes",100.248,23.87,"No",0.233565880800187,2,0,0,0,8,0,"No","No","Ex","Yes","Baccalaureat","Past","(2000-3000]","Yes","No","Yes","No","No","No","No","Yes","No","No","No","No","No",293,0,62,36.8,9.333,"285"
"198",30.08,"Yes",3,"Female","No","No","No",82.1252,25.34,"Yes",0.432674842835922,1,3,3,2,7,3,"No","Yes","Never","Yes","Vocational","Current","(1000-2000]","No","No","Yes","No","Yes","No","No","Yes","No","No","No","Yes","No",294,8.33333333333333,64,36,9.817,"290"
"199",39,"No",1,"Female","Yes","Yes","Yes",93.6514,19.57,"No",-0.162566179157175,0,0,0,0,8,0,"No","No","Never","No","Bachelor","No","(3000-inf]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","No","No",295,0,53,36.1,9.3,"291"
"200",31.17,"Yes",2,"Female","No","Yes","Yes",105.39,22.76,"Yes",0.343494866344737,0,3,0,3,6,0,"Yes","Yes","Active","Yes","Vocational","Past","(1000-2000]","Yes","No","Yes","No","Yes","Yes","No","Yes","No","Yes","No","Yes","No",296,1,52,36.5,9.317,"298"
"201",37.42,"No",0,"Female","Yes","Yes","Yes",81.3433,22.77,"No",0.501361305294219,1,0,0,0,8,0,"No","No","Ex","Yes","Bachelor","No","(2000-3000]","Yes","Yes","Yes","Yes","No","No","No","No","No","No","No","Yes","No",297,0,56,37.2,9.883,"299"
"202",34.83,"No",14,"Female","Yes","Yes","No",96.0257,24.87,"No",-0.311476064968856,2,8,3,2,8,8,"No","Yes","Active","Yes","Vocational","No","(3000-inf]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","No","No",298,3,72,36.9,8.983,"311"
"203",39.92,"No",3,"Female","No","No","No",91.3955,20.93,"No",-0.28773821801407,0,0,0,1,8.5,0,"No","Yes","Never","Yes","Bachelor","No","(1000-2000]","Yes","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",299,0,55,36.8,9.05,"318"
"204",32.58,"Yes",0.667,"Female","Yes","Yes","Yes",85.0405,25.53,"No",0.0669467896306131,1,8,0,1.492,6.5,3,"No","Yes","Ex","No","Baccalaureat","Past","(3000-inf]","No","No","Yes","Yes","No","No","No","Yes","No","Yes","No","Yes","No",300,0,50,36.2,9.417,"318"
"205",36.58,"Yes",6,"Male","No","No","Yes",78.8621,20.38,"No",0.539787412701729,0,0,0,0,10,3,"No","Yes","Ex","No","UpToPrimary","Current","[0-1000]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","No","No",301,10.3333333333333,60,36.3,8.55,"17"
"206",39.83,"No",1,"Male","No","No","Yes",97.6852,26.7,"No",0.108819763255248,1,0,0,0.728,7,0,"No","No","Never","No","Vocational","Past","(2000-3000]","No","No","No","No","No","Yes","No","No","No","No","No","No","No",304,1,43,36.5,9.6,"17"
"207",36.83,"Yes",0,"Male","Yes","Yes","No",78.883,19.26,"No",0.0950912479369122,0,0,0,1,8,3,"No","No","Active","Yes","Vocational","No","(2000-3000]","No","No","Yes","No","No","Yes","No","No","No","No","No","No","No",305,0,49,36.1,8.717,"17"
"208",32.17,"Yes",6,"Male","No","No","Yes",82.3602,24.65,"No",0.490314948372369,2,0,0,0,8,0,"No","No","Never","Yes","PhD","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",307,0,65,36.3,9.417,"17"
"209",30.5,"Yes",2.1,"Male","No","Yes","No",81.6715,31.96,"Yes",0.180818905247074,1,8,0,3,7,3,"No","Yes","Active","No","Vocational","Past","[0-1000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",309,1,66,36.5,9.583,"18"
"210",34.17,"Yes",2.5,"Male","Yes","Yes","Yes",110.989,20.95,"No",0.199894173728306,1,0,0,1,8,3,"No","Yes","Never","Yes","Vocational","Past","(1000-2000]","No","No","No","Yes","No","No","No","No","No","No","No","Yes","Yes",311,0,97,36.6,9.75,"52"
"211",32.17,"No",4.5,"Male","No","No","Yes",96.0682,20.61,"No",0.375985432783987,0,0,0,1,8,0,"No","No","Never","Yes","Baccalaureat","Current","(1000-2000]","No","No","Yes","Yes","No","No","No","No","No","No","No","No","No",312,0,43,36.7,8.883,"52"
"212",35,"No",2,"Male","Yes","Yes","Yes",85.3278,25.73,"Yes",0.281081402473529,2,0,0,1,6,0,"No","No","Active","Yes","Bachelor","No","(3000-inf]","No","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",313,0,47,36.4,9.133,"52"
"213",31.75,"No",0.75,"Male","No","No","Yes",101.131,24.3,"No",-0.123612645556907,0,0,0,1,8,0,"Yes","Yes","Active","Yes","Bachelor","Past","(1000-2000]","No","No","No","No","No","No","No","No","No","Yes","No","No","No",315,0,62,36,9.183,"52"
"214",36.5,"No",1,"Male","Yes","Yes","No",91.5988,20.14,"No",0.24216333644316,0,0,3,2,7.5,3,"No","No","Ex","Yes","PhD","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",316,2,60,36.6,10.2,"52"
"215",35.67,"No",6,"Male","Yes","No","No",102.669,27.11,"No",0.314579275971053,1,0,0,1,8,3,"No","Yes","Ex","No","Baccalaureat","Past","(2000-3000]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","Yes","No",317,0,51,36,9.35,"52"
"216",35.92,"No",0,"Male","Yes","No","Yes",100.353,27.75,"No",0.227470271459645,1,0,0,1,8,3,"No","No","Never","Yes","PhD","No","(3000-inf]","Yes","No","No","Yes","No","No","Yes","No","No","No","Yes","No","No",318,0,60,36.3,11.217,"52"
"217",38.67,"No",7.5,"Male","Yes","Yes","Yes",81.2247,22.22,"No",0.50404946838449,0,0,0,2,7,3,"No","No","Never","Yes","Bachelor","Current","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",319,0,73,36.7,9,"53"
"218",34.5,"Yes",0.25,"Male","Yes","Yes","Yes",72.5283,22.53,"No",0.273001272063738,0,0,0,0,7,3,"No","No","Never","Yes","Bachelor","Past","(2000-3000]","No","No","Yes","No","No","Yes","No","No","No","Yes","No","Yes","No",320,1,69,36.3,9.033,"53"
"219",34,"No",0,"Male","Yes","Yes","Yes",88.8661,27.73,"No",0.29175645153502,1,0,0,2,7,3,"No","Yes","Ex","No","UpToPrimary","No","(2000-3000]","No","No","Yes","No","Yes","Yes","No","No","No","No","No","No","No",321,3,58,36.4,9.133,"53"
"220",37.83,"Yes",0,"Male","No","No","No",88.2355,19.07,"No",0.0179518334343764,0,0,0,0,7,0,"No","No","Never","No","Baccalaureat","Past","[0-1000]","Yes","Yes","Yes","No","No","No","No","No","No","No","No","Yes","No",322,0,45,36.3,9.3,"54"
"221",37.17,"No",0,"Male","Yes","Yes","Yes",83.7331,25.81,"No",-0.0989067727641318,0,0,0,1,7,0,"No","No","Never","Yes","PhD","No","(2000-3000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",323,0,72,36.6,9.867,"73"
"222",35,"No",1,"Male","Yes","Yes","Yes",85.0676,18.62,"No",0.405075442175681,0,0,0,1,7,0,"No","Yes","Never","No","Bachelor","Past","(1000-2000]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","Yes","Yes",324,0,65,36.2,8.8,"108"
"223",31.5,"Yes",0,"Male","Yes","Yes","No",110.83,23.93,"No",0.126252790506131,0,3,0,2,7,0,"Yes","Yes","Ex","Yes","Vocational","Current","(2000-3000]","Yes","No","No","Yes","No","No","No","No","No","Yes","No","Yes","No",327,0,62,36.4,9.267,"109"
"224",38.83,"No",0.5,"Male","Yes","Yes","Yes",77.6516,24.96,"No",0.230593229232037,0,3,0,1,8,3,"No","No","Never","Yes","Bachelor","Current","(2000-3000]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","Yes","No",329,2,62,36.2,9.017,"137"
"225",31.33,"Yes",1,"Male","Yes","Yes","No",89.9607,28.34,"No",0.0707181982615568,2,0,0,0,6.5,0,"No","No","Active","Yes","Baccalaureat","No","(3000-inf]","Yes","No","Yes","No","No","No","No","Yes","No","No","No","Yes","Yes",331,0,61,36.2,8.8,"144"
"226",39.58,"Yes",0,"Male","Yes","Yes","Yes",78.4872,25.74,"No",0.376377327321026,1,0,0,0,8,0,"No","Yes","Never","Yes","Baccalaureat","Current","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",333,0,72,36.7,9.317,"150"
"227",31.17,"Yes",7.5,"Male","No","No","Yes",84.2877,25.64,"Yes",0.151068045595163,0,0,0,1,7,3,"No","No","Never","No","Baccalaureat","Past","(1000-2000]","No","No","No","No","No","Yes","Yes","No","No","No","Yes","Yes","No",334,0,53,36.2,9.167,"150"
"228",38.08,"Yes",6.25,"Male","No","No","Yes",92.4675,22.26,"No",0.284197605661401,0,0,3,1,7,3,"No","No","Never","Yes","Bachelor","No","(1000-2000]","No","Yes","No","Yes","Yes","Yes","No","No","No","No","No","No","No",339,2,50,36.3,9.167,"159"
"229",35.83,"No",0.167,"Male","Yes","Yes","No",80.912,25.01,"No",-0.230910364115402,1,0,0,1,8,0,"No","No","Never","Yes","Baccalaureat","Past","(3000-inf]","No","Yes","No","No","No","No","No","No","No","Yes","No","Yes","No",340,0,78,36.6,9.05,"164"
"230",33.33,"Yes",4,"Male","No","Yes","Yes",85.7671,21.22,"No",0.133312772212074,0,0,0,2,8.5,0,"No","No","Ex","No","Vocational","Past","[0-1000]","No","Yes","Yes","No","Yes","No","No","Yes","No","No","No","Yes","No",342,0,48,36,9.233,"165"
"231",33.25,"Yes",6,"Male","Yes","No","Yes",88.0525,31.05,"No",0.219227400918667,2,14,0,0,6,0,"No","No","Active","No","UpToPrimary","Past","(1000-2000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",343,0,62,36.3,9.417,"166"
"232",30.17,"No",4,"Male","Yes","Yes","Yes",43.727,24.93,"No",0.330736922497012,1,3,0,0,8,0,"No","No","Ex","Yes","Baccalaureat","Current","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No",344,0,50,36.2,9.25,"166"
"233",36,"No",2,"Male","Yes","Yes","Yes",98.0226,21.3,"No",-0.147067051140066,0,0,0,2,8,0,"No","No","Active","Yes","Bachelor","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","No","Yes","Yes",345,0,58,36.6,9.533,"171"
"234",37.08,"No",6,"Male","Yes","No","No",110.441,26.09,"No",0.285486983611797,0,0,0,0,8,0,"No","No","Ex","No","Bachelor","Past","(3000-inf]","No","No","No","No","No","No","No","Yes","No","Yes","No","Yes","No",346,0,50,36.1,9.283,"171"
"235",38.92,"No",1,"Male","Yes","Yes","Yes",86.2136,24.46,"No",0.423309886683906,0,0,0,1,7,3,"No","No","Never","Yes","Baccalaureat","No","(2000-3000]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","No","No",347,3,52,36.3,8.8,"178"
"236",38.92,"No",1.5,"Male","Yes","Yes","Yes",90.0815,22.95,"No",0.531029621026882,0,0,0,1,8,0,"No","No","Ex","Yes","Baccalaureat","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",348,0,53,36.2,9.05,"178"
"237",36.92,"No",1,"Male","Yes","No","Yes",98.1553,23.58,"No",0.379928405829318,0,0,0,2,9,3,"No","Yes","Ex","Yes","Baccalaureat","No","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",349,2,46,36,9.55,"179"
"238",38.08,"Yes",0,"Male","No","No","No",84.2757,25.51,"No",0.483142765142603,0,0,3,0,6.5,3,"Yes","Yes","Ex","Yes","Baccalaureat","Past","(1000-2000]","Yes","No","Yes","No","No","Yes","No","No","No","Yes","No","Yes","Yes",352,3,45,36,9.083,"192"
"239",39,"No",1.5,"Male","Yes","Yes","No",97.549,20.66,"No",0.358950880793861,0,0,0,1,8.5,3,"No","No","Never","Yes","PhD","No","(2000-3000]","Yes","No","No","No","No","No","No","Yes","No","Yes","No","No","No",353,0,53,36.1,8.883,"193"
"240",38.75,"Yes",0.75,"Male","No","Yes","No",93.2959,30.61,"Yes",0.469414940041841,2,0,0,2,8,0,"No","No","Ex","Yes","Baccalaureat","No","(1000-2000]","No","No","Yes","No","No","No","Yes","No","No","No","No","No","No",354,0,52,36.1,9.883,"201"
"241",37.92,"Yes",3,"Male","Yes","Yes","No",76.3225,25.05,"No",0.306200229130071,0,0,3,1,8,0,"No","Yes","Ex","No","Baccalaureat","No","(1000-2000]","No","No","Yes","No","No","Yes","No","No","No","No","No","Yes","No",355,2,55,36.3,9.117,"208"
"242",31.58,"No",0.5,"Male","Yes","No","Yes",98.1211,22.72,"Yes",0.496803591576998,0,0,0,3,6.5,3,"Yes","Yes","Active","No","PhD","No","(3000-inf]","No","No","Yes","Yes","No","No","No","Yes","No","Yes","No","Yes","No",356,2,62,36.2,8.55,"214"
"243",38,"Yes",1.5,"Male","No","Yes","Yes",68.5361,23.45,"No",0.352066783405307,0,0,0,3,6,3,"No","Yes","Never","Yes","Baccalaureat","No","(2000-3000]","No","No","No","Yes","No","No","No","No","No","Yes","No","Yes","No",357,1,56,36.2,9.417,"214"
"244",39.42,"No",2,"Male","Yes","Yes","Yes",91.1811,22.47,"No",0.383324477135749,0,0,0,1,7,0,"No","No","Never","Yes","PhD","No","(3000-inf]","No","No","Yes","No","No","No","Yes","Yes","Yes","No","Yes","Yes","No",359,0,59,36,9.05,"220"
"245",38.83,"Yes",1,"Male","Yes","Yes","Yes",97.716,25.35,"No",0.40469560937311,0,3,0,2,7,0,"No","No","Active","Yes","Bachelor","No","(3000-inf]","Yes","No","Yes","No","No","Yes","Yes","No","No","No","Yes","Yes","No",361,0,67,36.4,8.55,"221"
"246",35.92,"Yes",3,"Male","No","No","No",78.5163,23.18,"No",0.127275752912666,0,0,0,1,7,3,"No","No","Active","No","Baccalaureat","No","(1000-2000]","No","No","No","No","No","No","No","Yes","No","No","No","Yes","No",362,0,55,36.1,8.8,"221"
"247",30.25,"No",2,"Male","Yes","Yes","No",100.742,24.3,"No",0.571314959491138,0,0,0,1,6,0,"No","No","Never","Yes","Baccalaureat","Past","(2000-3000]","No","No","No","No","No","No","No","Yes","No","Yes","No","Yes","Yes",363,0,60,36.4,9.55,"221"
"248",37.33,"No",2,"Male","No","Yes","Yes",94.9646,25.9,"Yes",0.474015440659029,1,0,0,1,7,3,"No","Yes","Active","No","Bachelor","Past","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",364,3,69,36.1,9.8,"222"
"249",35.75,"No",2,"Male","Yes","Yes","No",96.6076,22.78,"Yes",0.380469059755333,0,0,0,3,6,0,"No","No","Active","Yes","Vocational","No","(3000-inf]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","No","Yes",367,0,65,36,9.8,"222"
"250",32.83,"Yes",3,"Male","No","No","Yes",88.1328,25.97,"No",0.533476790211195,0,3,0,2,6,3,"Yes","No","Never","No","PhD","No","(1000-2000]","No","No","No","No","No","No","No","Yes","No","No","No","No","No",368,2,49,36,8.7,"227"
"251",36,"Yes",0,"Male","No","No","No",85.4433,22.44,"Yes",0.331405654477838,0,0,0,3,7,0,"No","No","Never","Yes","PhD","No","(2000-3000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",369,0,55,36.4,9.3,"228"
"252",39,"No",10,"Male","Yes","Yes","No",82.7215,21.53,"No",0.293223413716878,0,0,0,1,7,0,"No","No","Ex","Yes","Vocational","Current","(3000-inf]","Yes","Yes","Yes","No","No","No","No","Yes","No","No","No","Yes","No",370,0,50,36,9.55,"228"
"253",35.5,"No",1.5,"Male","No","No","Yes",97.2308,25.14,"Yes",0.189298892732524,0,0,0,1,8.33333333333333,0,"No","No","Never","No","Bachelor","Past","[0-1000]","No","No","Yes","No","No","Yes","No","Yes","No","No","No","Yes","No",371,0,66,36.3,9.8,"228"
"254",33.33,"No",4,"Male","Yes","Yes","Yes",97.4764,21.91,"No",0.452917989538233,1,0,0,2,8,3,"No","Yes","Never","Yes","PhD","Current","(3000-inf]","Yes","Yes","Yes","Yes","Yes","No","No","No","No","Yes","No","Yes","No",372,0,53,37,9.55,"241"
"255",34.08,"No",0,"Male","Yes","Yes","No",101.42,22.14,"No",0.37379072060721,0,0,0,1,8,0,"Yes","No","Active","Yes","Baccalaureat","Past","(1000-2000]","No","No","Yes","Yes","No","No","No","No","No","Yes","No","Yes","No",373,0,47,36.2,9.25,"255"
"256",35.83,"No",3,"Male","No","No","Yes",114.431,31.69,"No",0.246922640613044,4,0,3,1,8,3,"No","Yes","Never","Yes","Bachelor","Past","(1000-2000]","No","No","No","No","Yes","No","No","No","No","Yes","No","No","No",374,0,65,36.6,9.05,"257"
"257",35.67,"Yes",0,"Male","Yes","Yes","No",95.4103,22.64,"No",0.30205306912156,0,0,0,2,7.5,0,"No","No","Ex","Yes","Baccalaureat","Current","(1000-2000]","Yes","No","Yes","Yes","No","No","Yes","No","Yes","Yes","Yes","Yes","No",375,1,53,36.1,9.8,"257"
"258",36.75,"No",1.665,"Male","No","No","Yes",117.989,23.56,"No",0.302806253689784,0,8,3,3,6,8,"No","Yes","Ex","Yes","Vocational","No","(1000-2000]","Yes","No","No","No","No","No","No","No","No","Yes","No","No","No",376,6.33333333333333,70,36.4,9.6,"264"
"259",37.75,"No",2.001,"Male","Yes","Yes","Yes",86.8618,22.98,"Yes",0.270939618287122,1,0,0,1,8.5,3,"No","Yes","Never","No","Vocational","No","(2000-3000]","No","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",377,1,49,36.8,9.3,"269"
"260",30.58,"Yes",0,"Male","Yes","Yes","Yes",83.0789,21.26,"No",0.169716179712159,0,0,0,2,8,3,"No","Yes","Active","Yes","Baccalaureat","Current","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",379,0,51,36.4,9.8,"271"
"261",30.58,"No",3,"Male","No","Yes","Yes",96.6677,21.38,"Yes",0.305221610332897,0,0,0,1,8,0,"No","No","Never","Yes","Baccalaureat","Current","(1000-2000]","No","No","Yes","No","No","Yes","No","Yes","No","No","No","Yes","No",380,0,55,36.4,8.8,"276"
"262",36.83,"No",3,"Male","Yes","Yes","Yes",103.884,28.4,"Yes",0.328238964032747,0,0,0,3,7.5,8,"No","Yes","Ex","No","Baccalaureat","Past","(2000-3000]","No","No","No","No","No","No","No","No","No","Yes","No","No","No",381,0,61,36.7,9.3,"277"
"263",38.17,"No",1,"Male","Yes","Yes","No",82.9306,28.71,"No",0.322219294733919,2,0,0,2,7,0,"No","No","Ex","Yes","Vocational","Past","(2000-3000]","Yes","No","Yes","Yes","No","No","No","Yes","No","Yes","No","No","No",382,0,55,36.1,9.3,"284"
"264",36.25,"No",1.334,"Male","Yes","Yes","No",74.503,25.79,"No",0.390069547311331,1,0,0,2,7,0,"No","Yes","Never","No","Baccalaureat","Current","(2000-3000]","Yes","No","Yes","Yes","No","No","No","No","No","Yes","No","Yes","Yes",384,0,56,36.3,9.5,"285"
"265",39.25,"Yes",1,"Male","Yes","Yes","Yes",109.072,22.59,"Yes",-0.119653140146616,2,3,0,1,8,3,"Yes","Yes","Active","No","UpToPrimary","Past","(1000-2000]","Yes","No","Yes","No","No","No","No","No","No","Yes","No","Yes","No",385,3,51,36,9.3,"290"
"266",33.67,"Yes",0,"Male","No","No","Yes",113.223,29.4,"Yes",0.194779956401781,1,8,0,3,6,3,"No","No","Ex","No","Vocational","Past","[0-1000]","No","No","Yes","No","No","Yes","No","Yes","No","Yes","No","Yes","No",387,1,71,36.8,9.8,"292"
"267",32,"No",3,"Male","Yes","Yes","No",73.388,21.97,"No",0.089077955220014,1,0,0,0,7,0,"No","No","Never","Yes","Baccalaureat","No","(3000-inf]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",388,0,45,36.3,8.8,"297"
"268",33.33,"Yes",0,"Male","Yes","Yes","No",87.531,23.56,"No",0.269047121999698,1,3,3,2,7,3,"Yes","Yes","Active","Yes","PhD","No","[0-1000]","No","No","No","Yes","No","No","No","Yes","No","Yes","No","Yes","No",389,3,54,36.2,9.35,"297"
"269",30.67,"No",4,"Male","Yes","Yes","Yes",114.903,25.18,"No",0.318391228131907,0,0,0,0,7,0,"No","Yes","Active","Yes","Bachelor","Current","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","Yes","No","Yes","No",390,0,68,36.1,8.567,"298"
"270",38.33,"Yes",0,"Male","No","Yes","No",106.782,21.29,"No",0.0784105369156287,1,0,0,2,7,0,"No","Yes","Active","Yes","Baccalaureat","No","(1000-2000]","Yes","No","No","Yes","No","No","No","Yes","No","No","No","Yes","No",391,3,52,36.3,9.567,"298"
"271",33.83,"Yes",1,"Male","No","No","Yes",80.4093,22.46,"No",0.278131649961477,2,0,0,1,8,3,"No","Yes","Active","No","Baccalaureat","Past","[0-1000]","Yes","No","Yes","No","No","No","No","No","No","Yes","No","Yes","No",392,2,71,36.6,9.25,"304"
"272",36.92,"No",4.5,"Male","Yes","Yes","Yes",85.7473,24.16,"No",0.372823040101582,1,0,0,1,7,3,"No","No","Never","Yes","PhD","No","(1000-2000]","Yes","No","Yes","Yes","No","No","No","No","Yes","Yes","No","Yes","No",393,4.66666666666667,41,36.2,9.117,"304"
"273",38.67,"No",3,"Male","Yes","Yes","No",109.511,28.08,"Yes",0.18432252306408,2,0,0,0,5.5,0,"No","Yes","Ex","Yes","Vocational","No","(3000-inf]","No","No","Yes","Yes","No","Yes","No","No","No","Yes","No","No","Yes",394,0,75,36,9.45,"305"
"274",30.75,"No",2,"Male","Yes","Yes","Yes",96.7708,23.3,"No",0.128300012750764,1,3,0,3,6,3,"Yes","Yes","Active","Yes","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","No","No","Yes","No","Yes","No","No","No",395,3,65,36.2,8.55,"312"
"275",37.5,"No",0,"Male","Yes","Yes","Yes",71.2919,27.28,"Yes",-0.159348116365358,2,0,0,0,5.5,0,"No","No","Ex","Yes","Vocational","No","(2000-3000]","Yes","No","Yes","Yes","No","No","No","No","No","Yes","No","Yes","No",397,0,51,36,9.833,"313"
"276",33,"Yes",3,"Male","No","No","Yes",92.7879,23.99,"No",-0.109874990172424,0,0,14,0,7,0,"No","No","Ex","Yes","Bachelor","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",398,0,53,36.6,8.567,"318"
"277",44.42,"No",0.5,"Female","Yes","Yes","No",98.3825,22.1,"Yes",0.263949043048277,0,0,0,0,6,0,"No","No","Ex","Yes","Bachelor","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",401,0,74,36.8,8.583,"25"
"278",42.42,"Yes",3,"Female","No","Yes","Yes",110.974,20.42,"Yes",0.290184393906477,1,0,0,1,7,3,"No","Yes","Never","No","Bachelor","No","[0-1000]","No","No","No","No","No","No","No","No","No","No","No","No","No",402,1,70,37.3,9.333,"25"
"279",49.08,"No",0,"Female","Yes","No","Yes",96.0635,26.83,"No",0.29465401636163,1,3,0,2,8,3,"No","Yes","Ex","Yes","Vocational","No","(2000-3000]","Yes","Yes","Yes","No","No","No","No","No","No","No","No","Yes","No",403,0,59,36.6,8.567,"26"
"280",43.42,"No",0,"Female","Yes","Yes","Yes",69.6931,19.92,"Yes",0.194520563911019,1,0,3,2,8,3,"No","No","Never","No","PhD","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","Yes","No","No","No",405,1,61,36.7,9.233,"26"
"281",48.5,"No",3,"Female","Yes","Yes","No",108.058,19.91,"No",-0.205290062794066,1,0,3,0,8,0,"No","No","Active","No","Baccalaureat","No","(3000-inf]","Yes","No","No","No","No","No","No","No","No","No","No","No","No",406,3,63,36.8,9.55,"26"
"282",40.25,"No",9.75,"Female","Yes","Yes","No",91.9938,18.67,"No",0.183812253200643,0,3,0,1,9,3,"No","Yes","Ex","Yes","Vocational","No","(2000-3000]","No","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No",407,3,63,36.9,9.033,"26"
"283",48.08,"No",2.5,"Female","Yes","Yes","Yes",91.2934,21.07,"No",0.317276127969792,0,0,0,2,8,0,"No","No","Never","No","PhD","No","(3000-inf]","No","Yes","Yes","No","Yes","Yes","No","No","No","No","No","No","No",408,0,51,36.8,9.383,"26"
"284",42.92,"Yes",1,"Female","No","Yes","Yes",127.454,21.48,"No",0.119303242535473,1,3,0,1,6,3,"No","Yes","Active","No","Vocational","No","[0-1000]","Yes","Yes","Yes","Yes","No","No","No","No","No","Yes","No","Yes","No",409,0,95,36.6,9.683,"26"
"285",48.5,"No",0.167,"Female","Yes","No","No",111.852,28.98,"Yes",0.184449515944337,1,3,0,3,7,3,"No","Yes","Ex","Yes","Bachelor","No","(3000-inf]","No","Yes","Yes","No","No","No","No","No","No","No","No","No","No",410,3,61,36.4,8.7,"26"
"286",49.17,"Yes",6,"Female","Yes","Yes","Yes",96.0924,18.92,"Yes",0.265967027264643,0,0,0,2,8,0,"No","No","Never","Yes","PhD","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","Yes","No","Yes","No",411,0,52,36.3,8.55,"74"
"287",44.25,"No",1.5,"Female","Yes","Yes","Yes",92.127,21.9,"Yes",-0.27647383465793,1,0,0,2,8,0,"No","Yes","Ex","Yes","Vocational","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","Yes","No","Yes",412,0,59,36.4,8.883,"74"
"288",47.58,"No",2,"Female","No","Yes","Yes",85.2912,31.55,"No",-0.371398822092453,1,0,0,1,8,14,"No","Yes","Never","Yes","Vocational","Current","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",413,3,67,36.9,9.217,"74"
"289",45.5,"No",3,"Female","Yes","Yes","Yes",97.0173,20.07,"No",0.205171361821778,1,0,0,3,8,0,"No","Yes","Never","No","PhD","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","No","Yes","No",414,0,77,37.3,9.583,"74"
"290",48.42,"No",0,"Female","Yes","No","No",100.396,24.24,"No",0.513453713895276,2,0,0,0,7,0,"No","No","Never","Yes","Vocational","Past","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",416,1,56,36.2,8.55,"75"
"291",43.92,"No",0,"Female","Yes","Yes","Yes",91.175,21.33,"No",0.312017860951569,0,0,0,1,8,0,"No","No","Never","No","Baccalaureat","No","(1000-2000]","Yes","Yes","Yes","Yes","No","No","No","No","No","No","No","No","No",417,0,69,37.1,9.217,"75"
"292",44.83,"No",1,"Female","Yes","Yes","No",94.8556,20.68,"Yes",-0.0898990963220246,0,0,0,2,9,3,"No","Yes","Ex","Yes","Vocational","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","Yes","No","Yes","No",418,0,73,36.7,9.267,"75"
"293",42.5,"No",1.5,"Female","Yes","Yes","No",73.7716,25.46,"Yes",-0.121344554864902,1,0,0,1,7,0,"No","No","Never","Yes","Baccalaureat","Past","(3000-inf]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","Yes","No",419,0,66,36.7,9.583,"75"
"294",47.33,"Yes",0.167,"Female","No","Yes","No",92.9235,25.39,"No",0.304671899453678,1,0,0,2,8,0,"No","No","Never","Yes","Vocational","Current","(1000-2000]","Yes","No","Yes","No","No","No","No","No","No","No","No","Yes","Yes",421,0,51,36.3,9.117,"82"
"295",46.17,"No",1.5,"Female","Yes","Yes","Yes",84.735,21.13,"No",0.020994154388199,0,0,0,0,9,0,"No","No","Ex","Yes","Vocational","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","No","No",422,0,56,36.4,8.883,"108"
"296",42.5,"Yes",1,"Female","Yes","No","Yes",96.2878,20.06,"Yes",0.500740859414851,1,0,0,1,9,3,"No","No","Active","Yes","Vocational","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","Yes",423,0,64,36.5,9.517,"109"
"297",48.08,"Yes",1,"Female","No","No","No",78.0401,20.93,"No",-0.158046756362039,0,0,0,0,8,0,"No","No","Ex","Yes","Vocational","No","(1000-2000]","Yes","Yes","Yes","Yes","No","No","No","No","No","No","No","Yes","Yes",424,4.66666666666667,63,36.2,8.767,"110"
"298",44.25,"No",2,"Female","Yes","No","Yes",102.281,24.09,"Yes",0.586731705393194,1,0,0,2,9,0,"No","No","Never","Yes","Vocational","No","[0-1000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",425,0,65,36.4,9.55,"111"
"299",41.42,"No",0,"Female","Yes","Yes","No",93.9467,23.59,"No",0.208703903125788,1,0,0,1,8,0,"No","No","Never","Yes","Vocational","No","(2000-3000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",426,0,67,37.1,8.567,"131"
"300",46.08,"No",3,"Female","Yes","Yes","Yes",107.018,19.13,"No",0.210368931932926,0,0,0,2,8,3,"No","Yes","Ex","Yes","PhD","No","(3000-inf]","No","No","Yes","Yes","No","No","No","No","No","No","No","Yes","Yes",427,1,61,36.5,8.9,"131"
"301",45.33,"No",1,"Female","Yes","Yes","Yes",110.855,27.43,"No",0.627087997029893,1,0,0,0,7,0,"No","No","Ex","Yes","Vocational","No","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","Yes",428,0,58,36.4,9.067,"136"
"302",44.83,"No",1,"Female","No","Yes","No",101.106,21.56,"No",0.122478138060643,1,0,0,0,7,0,"No","No","Never","Yes","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","Yes","No","No","No","No","No","No","No",430,0,76,36.5,8.583,"136"
"303",47.83,"No",0,"Female","No","No","No",108.526,20.7,"No",-0.0567086043914689,0,0,0,2,7,0,"No","No","Ex","Yes","Bachelor","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",431,0,52,36.4,8.817,"136"
"304",46.42,"No",3,"Female","Yes","Yes","Yes",102.16,23.22,"No",-0.398758660152718,1,0,0,1,7,3,"No","No","Never","Yes","Baccalaureat","No","(3000-inf]","Yes","Yes","No","No","No","No","No","No","No","No","No","No","No",432,0,50,36.2,8.933,"136"
"305",48.08,"Yes",1.5,"Female","Yes","No","No",132.919,23.73,"No",0.0325763513509642,1,0,0,2,8.5,3,"No","No","Never","No","PhD","No","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","Yes","No","No","No",433,1,59,36.4,9.133,"137"
"306",44.42,"No",3.5,"Female","No","Yes","Yes",87.1657,20.13,"Yes",0.206363349607536,0,0,0,1,8,0,"No","No","Active","Yes","Baccalaureat","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","Yes",434,0,69,36.2,8.683,"137"
"307",40.67,"No",2,"Female","No","Yes","Yes",103.687,23.22,"No",0.120003518932788,0,0,0,2,8,0,"No","No","Never","Yes","PhD","No","(1000-2000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",435,0,73,36.7,9.283,"137"
"308",48.5,"No",2,"Female","Yes","Yes","Yes",111.105,25.96,"Yes",-0.0651783210116188,2,0,0,1,9,0,"No","Yes","Never","Yes","Baccalaureat","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",436,0,74,36.8,8.55,"138"
"309",41.67,"No",4.5,"Female","No","No","Yes",95.4712,29.41,"Yes",0.153427274419737,1,0,0,0,8,0,"No","No","Never","Yes","Baccalaureat","No","(1000-2000]","Yes","No","Yes","Yes","No","Yes","No","Yes","No","Yes","No","Yes","Yes",437,0,72,36.7,8.8,"138"
"310",42.08,"No",3,"Female","Yes","No","Yes",86.6782,20.95,"No",0.187127535450946,0,0,0,1,8,0,"No","No","Never","Yes","PhD","No","(3000-inf]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","Yes",438,0,55,36,9.3,"138"
"311",43,"No",0.666,"Female","Yes","Yes","Yes",94.2426,23.53,"Yes",0.0516066629069418,1,0,3,1,8,3,"No","Yes","Never","Yes","Vocational","No","(2000-3000]","No","Yes","No","No","No","No","No","No","No","No","No","No","No",439,5.66666666666667,69,37.4,9.55,"138"
"312",46.17,"Yes",0,"Female","No","Yes","No",93.6392,19.97,"Yes",-0.0829295936007884,0,0,0,2,9,3,"No","No","Active","Yes","Vocational","No","(1000-2000]","No","No","No","No","Yes","No","No","No","No","No","No","Yes","No",440,1,55,37,9.433,"144"
"313",48,"No",1.5,"Female","Yes","Yes","No",106.436,30.12,"No",0.237649547494574,1,0,0,0,8,3,"No","No","Never","Yes","Baccalaureat","No","(3000-inf]","No","No","Yes","Yes","Yes","No","No","Yes","No","No","No","No","No",441,0,52,36.3,9.517,"144"
"314",47.33,"No",0,"Female","Yes","Yes","Yes",93.9618,19.06,"Yes",0.188906522521846,0,0,0,0,8,0,"No","No","Never","Yes","UpToPrimary","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",443,0,74,36.7,8.8,"150"
"315",42.5,"Yes",0.666,"Female","Yes","No","Yes",95.4551,20.17,"Yes",0.0456138984013564,0,0,0,0,7,0,"No","No","Active","No","Vocational","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",444,0,68,36.2,9.8,"150"
"316",45.58,"No",5.332,"Female","Yes","No","Yes",78.1995,24.74,"No",-0.252903927846788,1,0,3,1,5,0,"No","No","Never","Yes","Bachelor","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",445,0,65,36.9,8.95,"150"
"317",44.5,"No",0,"Female","Yes","Yes","Yes",91.6597,22.95,"No",0.51448549268141,1,0,0,1,7,0,"No","No","Never","Yes","Baccalaureat","No","(3000-inf]","No","No","No","No","No","No","No","Yes","No","No","Yes","No","Yes",446,0,64,36.5,8.55,"151"
"318",43.75,"No",2.5,"Female","Yes","Yes","No",92.5966,25.07,"No",0.474284572643031,2,0,0,1,7,3,"No","Yes","Active","Yes","Bachelor","Past","(3000-inf]","No","No","Yes","No","No","No","No","Yes","No","No","Yes","Yes","Yes",447,1,69,37.1,9.55,"151"
"319",44.42,"No",0,"Female","Yes","Yes","Yes",82.7065,26.77,"No",0.311505527217727,0,0,0,1,7,0,"No","Yes","Never","Yes","PhD","No","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","Yes","Yes","No","Yes","No",448,0,55,37.1,9.317,"151"
"320",45.08,"No",3,"Female","No","No","No",85.7001,21.41,"No",0.561874356973248,0,0,0,1,6,0,"No","No","Never","Yes","PhD","No","(1000-2000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",449,0,66,37.2,9.05,"152"
"321",46.33,"Yes",4,"Female","Yes","Yes","Yes",85.1165,23.63,"No",0.174413055822894,1,3,0,3,7,3,"No","Yes","Ex","No","Bachelor","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","Yes",450,0,58,36.6,9.683,"157"
"322",49.5,"No",0,"Female","No","No","Yes",96.3272,22.76,"Yes",-0.233980669264646,1,0,3,3,7,3,"No","Yes","Ex","Yes","Baccalaureat","No","(1000-2000]","Yes","No","No","No","No","No","No","No","No","No","No","No","No",451,2,57,36.7,9.8,"158"
"323",42.08,"No",1.5,"Female","Yes","Yes","No",92.6879,25.55,"No",0.521008333820513,2,0,3,0,8.5,0,"No","No","Never","Yes","Baccalaureat","No","(3000-inf]","Yes","Yes","No","No","No","No","No","No","No","Yes","No","No","No",452,0,55,36.7,9.183,"158"
"324",49.92,"Yes",3.5,"Female","Yes","No","No",107.931,23.3,"No",-0.25412547378113,0,0,0,1,8,0,"No","No","Ex","Yes","Vocational","No","(2000-3000]","Yes","No","No","Yes","No","No","No","No","No","Yes","No","Yes","No",453,0,54,36,9.183,"158"
"325",41.58,"No",1,"Female","Yes","Yes","Yes",85.148,22.86,"No",-0.0377186880742055,2,3,0,1,6,3,"No","No","Active","Yes","Bachelor","No","(3000-inf]","Yes","No","Yes","No","No","No","No","Yes","No","No","No","No","No",454,1,61,36.3,8.717,"158"
"326",46.08,"Yes",0,"Female","No","Yes","No",108.387,19.33,"No",0.151731913196237,1,3,0,1,8,3,"No","Yes","Active","No","Baccalaureat","No","[0-1000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",455,1,73,36.6,9.05,"159"
"327",40.5,"No",1,"Female","Yes","Yes","No",62.924,23.53,"No",-0.229087158540276,1,0,14,0,10,3,"No","No","Ex","Yes","UpToPrimary","Current","(3000-inf]","No","No","Yes","Yes","No","No","No","Yes","No","No","No","No","No",456,1,55,36.8,9.8,"159"
"328",47.08,"Yes",1.5,"Female","Yes","No","No",101.87,27.23,"No",-0.0152734678860167,3,0,0,1,8,3,"No","No","Never","Yes","Vocational","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",457,0,57,36,9.567,"164"
"329",43.25,"No",2,"Female","No","Yes","No",92.8975,21.15,"Yes",0.122433369880028,0,0,0,1,7.5,3,"No","Yes","Never","Yes","PhD","No","(2000-3000]","Yes","No","Yes","Yes","No","Yes","No","Yes","No","No","No","Yes","No",459,0,63,36.3,8.55,"165"
"330",49.83,"No",1,"Female","Yes","Yes","No",101.123,26.72,"Yes",0.491733468274356,1,0,0,0,8,0,"No","No","Ex","Yes","Vocational","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","No","Yes","Yes",460,0,54,36.8,9.067,"166"
"331",48.67,"No",5.25,"Female","Yes","Yes","No",128.021,26.12,"No",-0.300093006127053,1,0,0,1,9,0,"No","No","Never","Yes","Vocational","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",462,0,62,36.7,9.05,"171"
"332",40.25,"No",3,"Female","Yes","Yes","Yes",66.6326,25.65,"Yes",0.32254231035454,2,0,0,1,8,3,"No","No","Ex","No","Vocational","No","(1000-2000]","No","Yes","Yes","No","No","No","No","No","No","No","No","Yes","No",463,0,56,36.6,9.8,"171"
"333",47.67,"Yes",0.333,"Female","No","No","Yes",88.6273,20.69,"Yes",0.397260892846551,1,0,0,0,8,0,"No","No","Ex","Yes","Vocational","No","[0-1000]","No","No","Yes","No","No","Yes","No","No","No","No","No","Yes","No",464,0,48,36.3,9.583,"178"
"334",48.25,"No",0,"Female","No","No","Yes",104.635,25.71,"No",0.424588164227504,2,0,0,0,7.5,0,"No","No","Active","Yes","Baccalaureat","No","(1000-2000]","Yes","Yes","Yes","No","No","Yes","No","No","No","No","No","Yes","No",465,0,54,36.9,9.8,"178"
"335",40.08,"No",0.5,"Female","Yes","Yes","Yes",77.3856,20.19,"No",0.33330555146436,0,3,3,1.366,7,14,"No","No","Ex","Yes","Vocational","No","[0-1000]","No","No","Yes","Yes","No","Yes","No","Yes","No","No","No","Yes","No",466,0,65,36.5,9.8,"179"
"336",47.75,"Yes",0,"Female","No","Yes","Yes",76.6988,21.77,"Yes",0.193302937686057,0,0,0,1,7,3,"No","No","Active","Yes","Vocational","No","(1000-2000]","Yes","No","Yes","Yes","No","Yes","No","No","No","Yes","No","Yes","No",467,0,65,36.5,9.6,"185"
"337",47.33,"Yes",0.666,"Female","No","No","No",96.0505,24.24,"Yes",0.315686993504941,1,0,0,0,7.5,3,"No","Yes","Active","Yes","Bachelor","No","(1000-2000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",468,2,54,36.4,8.9,"187"
"338",44.33,"Yes",4,"Female","No","Yes","No",93.8662,23.62,"No",0.412693581675919,1,0,0,1,7,0,"No","No","Active","Yes","Vocational","No","(1000-2000]","Yes","No","No","No","No","No","No","Yes","No","No","No","Yes","No",469,0,60,36.2,8.8,"193"
"339",46.67,"No",0.5,"Female","No","Yes","Yes",84.7322,23.12,"No",0.476687610667754,1,0,0,1,8,0,"No","Yes","Ex","Yes","Baccalaureat","No","(1000-2000]","Yes","No","No","Yes","No","No","No","No","No","No","No","No","No",470,0,62,36.4,9.217,"206"
"340",45.92,"No",4,"Female","Yes","Yes","Yes",85.2712,22.2,"No",0.432902112393639,0,0,0,0,7,0,"No","No","Never","Yes","Bachelor","No","(3000-inf]","Yes","Yes","Yes","No","No","No","No","Yes","No","No","Yes","Yes","No",471,0,62,36.6,9.4,"206"
"341",41.42,"No",2,"Female","Yes","Yes","Yes",78.3365,27.77,"Yes",0.516460160763146,1,0,0,0,8,0,"No","No","Never","Yes","Vocational","Current","(1000-2000]","No","No","No","No","No","No","No","Yes","Yes","No","No","Yes","Yes",472,0,55,36.9,9.067,"207"
"342",48,"No",2,"Female","No","Yes","Yes",100.39,21.96,"Yes",0.570025314687165,1,0,0,3,6.5,3,"No","No","Never","Yes","PhD","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","Yes","No","Yes","Yes",473,2,43,36.4,9.783,"208"
"343",40.83,"No",0.5,"Female","Yes","Yes","Yes",103.85,19.03,"No",0.298942037402316,0,0,0,0,8,0,"No","No","Active","Yes","Bachelor","No","(3000-inf]","Yes","Yes","Yes","Yes","No","No","No","Yes","No","No","No","Yes","Yes",474,0,65,36.5,9.1,"220"
"344",40.58,"No",4,"Female","No","No","No",136.358,19.47,"Yes",0.416093489112537,0,3,0,2,8,3,"No","Yes","Never","Yes","PhD","No","[0-1000]","Yes","No","Yes","No","Yes","No","No","No","No","No","No","Yes","No",475,0,49,36.8,8.883,"221"
"345",47,"Yes",3,"Female","Yes","Yes","Yes",84.9024,22.32,"No",0.139894036554662,0,0,0,0,8,0,"No","No","Ex","Yes","Vocational","No","(2000-3000]","Yes","Yes","Yes","No","No","No","No","No","No","Yes","No","Yes","No",476,0,54,36.1,9.25,"227"
"346",43.17,"No",6,"Female","Yes","No","Yes",88.3462,30.86,"Yes",0.357083413242876,1,0,0,0,9,0,"No","No","Never","No","Baccalaureat","Past","(1000-2000]","Yes","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",477,0,57,36.7,9.4,"228"
"347",47.67,"Yes",3.5,"Female","No","No","No",102.164,27.47,"No",0.46562301560373,2,0,0,2,7,3,"No","No","Active","No","Bachelor","Past","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","No","No","No","No",478,2,70,36.6,9.517,"228"
"348",42.5,"No",0,"Female","Yes","Yes","Yes",99.8165,27.88,"No",0.278539925926672,2,0,0,1,6,3,"No","No","Never","Yes","PhD","No","(2000-3000]","No","No","No","No","No","Yes","No","No","No","No","No","Yes","No",479,0,74,36.6,9.05,"229"
"349",41.5,"No",2,"Female","Yes","Yes","Yes",76.4519,20.93,"No",0.226371008957835,0,0,0,0,8,0,"No","No","Never","No","Baccalaureat","No","(1000-2000]","No","Yes","Yes","No","No","No","No","Yes","No","Yes","No","Yes","No",480,0,65,37,9.083,"241"
"350",47.67,"No",2,"Female","Yes","Yes","No",81.7741,21.33,"No",0.0654366026695902,0,0,0,1,7.64151666666667,0,"No","No","Never","Yes","Vocational","No","(3000-inf]","Yes","Yes","Yes","Yes","No","Yes","No","No","No","Yes","No","Yes","No",481,0,72,37,9.5,"248"
"351",47.58,"No",4,"Female","Yes","Yes","Yes",88.085,21.21,"Yes",0.198502926928464,1,0,0,1,8,0,"No","No","Never","Yes","PhD","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","Yes",482,0,49,36.6,9.133,"255"
"352",41.67,"No",2,"Female","No","No","Yes",75.4135,20.43,"No",0.288209841947271,0,0,0,0,7.5,0,"No","No","Never","Yes","Vocational","No","[0-1000]","No","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",484,0,70,37.2,9.3,"257"
"353",48.67,"Yes",1,"Female","Yes","No","No",90.4046,25.35,"No",-0.0744026720102051,1,3,0,1,8.5,3,"No","No","Ex","Yes","Baccalaureat","No","(1000-2000]","No","No","No","No","Yes","No","No","No","No","No","No","Yes","No",485,0,55,36.3,8.967,"290"
"354",47.83,"No",1,"Female","No","No","No",95.4982,31.86,"No",-0.0121816578658672,1,3,0,1,7,3,"No","No","Ex","Yes","Vocational","No","(1000-2000]","Yes","No","Yes","No","No","Yes","No","No","No","Yes","No","Yes","Yes",486,0,56,36,9.8,"291"
"355",42.42,"No",0,"Female","Yes","Yes","Yes",87.0904,22.83,"No",-0.321849839601555,1,0,0,0,7,0,"No","Yes","Ex","Yes","Vocational","No","(1000-2000]","No","No","Yes","No","No","Yes","No","No","No","No","No","Yes","No",488,0,55,36.8,9.583,"292"
"356",40.5,"No",2,"Female","Yes","Yes","No",72.7935,20.2,"No",0.455654657897256,1,0,0,1,8,0,"No","Yes","Never","Yes","Vocational","No","(2000-3000]","No","No","Yes","Yes","No","No","No","Yes","No","No","No","Yes","No",489,0,38,36.4,9.8,"297"
"357",42.83,"No",1.5,"Female","No","No","Yes",108.128,20.44,"No",0.344089383182142,0,3,0,2,7,3,"No","Yes","Never","Yes","Vocational","No","(1000-2000]","Yes","No","Yes","No","No","Yes","No","Yes","Yes","Yes","Yes","Yes","No",490,1,47,36.4,8.9,"297"
"358",43.08,"No",3,"Female","Yes","Yes","Yes",80.5147,24.69,"No",0.165490580299794,0,0,0,0,6.5,0,"No","No","Never","Yes","Vocational","No","(2000-3000]","Yes","No","No","No","No","Yes","No","No","No","No","No","Yes","No",492,0,47,36.5,9.3,"297"
"359",43.42,"Yes",1.5,"Female","No","Yes","Yes",101.278,21.48,"Yes",0.397677515776828,0,0,0,0,8,3,"No","No","Active","Yes","Bachelor","No","(1000-2000]","Yes","No","No","No","No","No","No","No","No","No","No","No","No",495,2,58,36.5,8.883,"304"
"360",44.83,"No",0,"Female","Yes","Yes","Yes",78.1967,20.02,"No",0.365533226255793,0,0,0,1,9,3,"No","Yes","Never","Yes","Vocational","No","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","Yes","No","Yes","No",496,0,54,36.3,9.867,"304"
"361",47.75,"No",1,"Female","Yes","No","Yes",58.667,20.93,"No",0.425640591356101,1,0,0,2,8,0,"No","No","Ex","Yes","UpToPrimary","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",497,0,67,36.8,8.9,"304"
"362",43.83,"No",49,"Female","Yes","Yes","No",103.672,21.25,"No",0.304194268182335,1,0,0,1,8,0,"No","Yes","Never","Yes","Vocational","Past","(2000-3000]","Yes","No","No","No","No","No","No","No","No","No","No","Yes","No",498,0,65,36.4,8.967,"305"
"363",45.75,"No",6,"Female","No","Yes","No",105.646,22.86,"No",0.769840511809315,1,0,0,0,7,3,"No","No","Ex","Yes","Vocational","No","(1000-2000]","No","No","Yes","Yes","No","Yes","No","No","No","No","No","No","Yes",499,0,64,36.7,9.333,"319"
"364",48.83,"Yes",0,"Female","No","Yes","Yes",107.19,25.28,"Yes",-0.249688279363944,1,0,0,1,7,0,"No","No","Ex","Yes","Baccalaureat","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",500,0,59,36.4,8.833,"319"
"365",46.75,"No",0.5,"Male","Yes","No","Yes",94.0426,23.18,"No",0.384490835241168,0,0,0,2,7,3,"No","Yes","Never","No","Baccalaureat","No","(2000-3000]","Yes","No","No","No","No","No","No","No","No","No","No","No","No",501,4.66666666666667,64,36.4,8.567,"24"
"366",48.42,"No",2.967863,"Male","Yes","Yes","Yes",103.223,25.94,"No",0.348924479711557,0,0,0,0,7,0,"No","Yes","Never","Yes","Bachelor","No","(2000-3000]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","No","No",502,0,58,36.2,8.917,"24"
"367",44.17,"No",3,"Male","Yes","Yes","Yes",94.8686,23.24,"Yes",0.152754399169591,0,0,0,0,6,0,"No","No","Never","Yes","Vocational","Current","(3000-inf]","Yes","Yes","Yes","Yes","No","Yes","No","No","No","No","No","Yes","No",505,0,56,36.2,8.467,"24"
"368",43.33,"No",3,"Male","Yes","Yes","No",84.8827,21.06,"No",0.626437041452789,0,0,0,1,7,0,"No","No","Ex","Yes","Bachelor","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",506,0,56,36,8.583,"24"
"369",44.83,"No",6,"Male","Yes","No","Yes",89.5019,30.36,"Yes",0.662842497727637,3,0,0,1,8,3,"No","No","Ex","Yes","Vocational","No","(2000-3000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",507,0,80,36.4,8.75,"24"
"370",45.33,"Yes",6,"Male","Yes","Yes","Yes",76.8713,24.67,"No",0.290184393906477,0,0,0,1,7,0,"No","No","Ex","No","Vocational","Past","(1000-2000]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","No","No",508,0,63,36.3,8.883,"24"
"371",46.17,"No",1,"Male","No","No","Yes",86.5028,25.71,"No",0.162240147158451,1,0,0,1,7,0,"Yes","Yes","Active","Yes","PhD","No","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",509,0,72,36.9,9.45,"24"
"372",44,"No",6,"Male","No","No","Yes",86.2144,28.73,"No",0.291181626220425,3,3,8,3,8,3,"No","No","Never","No","PhD","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","No",510,1,45,36.1,9.75,"24"
"373",45.42,"No",4,"Male","Yes","Yes","Yes",89.4895,27.77,"Yes",0.515909467413169,1,0,0,1,8,3,"No","Yes","Never","Yes","PhD","No","(3000-inf]","No","No","Yes","No","Yes","Yes","No","No","No","No","No","No","No",513,0,49,36.4,9.583,"25"
"374",48.58,"No",1,"Male","Yes","Yes","Yes",85.4486,26.47,"No",0.406930627715404,1,0,3,0,7,3,"No","Yes","Active","No","Baccalaureat","Past","(2000-3000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","Yes",514,0,50,36.2,8.55,"67"
"375",48.08,"No",1,"Male","Yes","Yes","Yes",106.263,23.4,"No",0.171014858497944,0,0,0,0,8,0,"No","No","Never","Yes","Vocational","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","Yes",515,0,46,36.3,8.55,"73"
"376",41.92,"No",4.5,"Male","Yes","Yes","No",92.3415,28.69,"Yes",0.19046020667305,3,0,0,0,7,0,"No","No","Ex","Yes","PhD","Past","(3000-inf]","No","No","Yes","Yes","No","Yes","No","No","No","No","No","Yes","No",516,0,43,36.4,8.883,"73"
"377",43.92,"No",0,"Male","Yes","No","No",85.5062,25.3,"Yes",0.120935994154626,1,0,0,1,8,3,"No","No","Never","Yes","Baccalaureat","Past","(3000-inf]","Yes","Yes","Yes","Yes","No","No","No","No","Yes","Yes","Yes","Yes","Yes",517,0,57,36.3,9.217,"73"
"378",45.5,"No",0,"Male","Yes","Yes","Yes",82.0191,21.29,"No",0.39650326766784,1,0,0,2,8,0,"No","No","Never","Yes","Vocational","Current","(3000-inf]","No","No","No","Yes","No","No","No","No","No","No","No","Yes","Yes",518,0,57,36.1,9.567,"73"
"379",45.58,"No",0,"Male","No","Yes","No",119.504,23.24,"Yes",0.423471344815924,0,0,0,1.201,6,3,"No","Yes","Active","Yes","Vocational","No","(2000-3000]","Yes","Yes","Yes","Yes","No","No","No","No","No","No","No","Yes","No",520,0,56,36.6,9.467,"73"
"380",46.5,"No",1,"Male","Yes","Yes","Yes",72.9082,26.19,"No",-0.0988693528800086,0,0,0,0,9,0,"No","No","Active","Yes","PhD","No","(3000-inf]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","Yes","No",522,0,54,36.4,9.167,"73"
"381",45.58,"No",3,"Male","Yes","Yes","No",114.478,25.72,"No",0.338467530453407,2,0,0,0,6,3,"No","No","Active","Yes","PhD","No","(3000-inf]","No","No","Yes","No","No","Yes","No","No","No","No","No","No","No",524,0,66,36.1,9.6,"74"
"382",40.5,"No",3,"Male","Yes","Yes","No",97.3337,22.89,"Yes",0.319576054744993,0,0,0,1,7,0,"No","No","Ex","Yes","Vocational","No","(2000-3000]","No","No","Yes","Yes","No","No","No","No","No","No","No","Yes","Yes",526,0,52,36.3,9.133,"74"
"383",44.25,"Yes",6,"Male","No","Yes","Yes",89.2713,24.53,"No",0.250863386198251,0,0,0,1,6,3,"No","Yes","Never","Yes","Bachelor","No","(2000-3000]","Yes","No","Yes","Yes","No","No","No","No","No","Yes","No","Yes","No",528,0,55,36.1,8.55,"108"
"384",40.17,"No",0,"Male","No","No","Yes",103.695,21.79,"No",-0.0925452076056063,2,0,0,1,8,3,"No","No","Never","No","PhD","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",529,0,70,36.7,8.533,"110"
"385",45.25,"No",2,"Male","Yes","No","Yes",92.4112,27.13,"Yes",0.344412123063843,2,0,0,1,7,3,"No","No","Ex","Yes","Vocational","No","(2000-3000]","No","No","Yes","No","No","Yes","No","No","No","Yes","No","No","No",531,0,67,36.1,9.15,"111"
"386",44.92,"No",0,"Male","Yes","Yes","No",86.4462,21.87,"No",-0.00180205437768037,0,0,0,0,7,0,"No","Yes","Active","No","Vocational","Past","[0-1000]","Yes","No","No","Yes","No","No","No","No","No","No","No","No","No",532,0,54,36.6,9.617,"131"
"387",48.17,"No",0,"Male","Yes","Yes","Yes",104.413,24.09,"No",0.232033676595344,1,0,0,0,8.5,0,"No","No","Never","Yes","Vocational","Past","(1000-2000]","No","No","No","No","Yes","Yes","No","No","No","No","No","No","Yes",533,0,59,36.4,8.8,"136"
"388",40.67,"Yes",3,"Male","Yes","Yes","Yes",97.9878,22.98,"No",0.397776401782966,0,0,0,0,8,0,"No","No","Never","Yes","Baccalaureat","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",535,1,48,36.3,9.4,"138"
"389",41.58,"Yes",1.5,"Male","No","No","Yes",109.626,21.3,"No",-0.0541315261644486,1,0,0,1,6,0,"No","Yes","Active","Yes","Vocational","No","(1000-2000]","No","No","No","No","No","Yes","No","No","No","No","No","Yes","Yes",536,3,66,36.5,9.3,"143"
"390",41.33,"Yes",2,"Male","No","No","Yes",106.468,25.28,"No",0.624336386039115,2,0,0,0,8,0,"No","No","Ex","Yes","Vocational","No","(1000-2000]","Yes","No","Yes","No","Yes","No","No","No","No","No","No","No","No",537,0,59,36.5,9.8,"143"
"391",47.33,"No",0,"Male","Yes","Yes","Yes",96.3585,26.17,"No",0.0867343839380707,1,0,0,0,7,3,"No","No","Ex","Yes","Vocational","Current","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",538,0,55,36.7,9.383,"143"
"392",49.92,"No",4,"Male","No","No","No",90.0067,22.53,"No",0.328057545966134,0,0,0,1,6,3,"No","No","Never","No","UpToPrimary","Past","[0-1000]","No","No","No","No","No","No","No","No","No","Yes","No","No","No",539,2,82,36.7,9.8,"144"
"393",47.42,"Yes",2.166,"Male","No","No","Yes",90.7939,26.7,"No",-0.332693003919319,1,0,0,3,6,0,"No","No","Ex","No","Vocational","Past","[0-1000]","No","No","No","No","No","No","No","No","No","No","No","No","No",540,0,57,36.3,9.417,"150"
"394",44.92,"No",0.333,"Male","Yes","Yes","Yes",104.236,24.89,"Yes",-0.138727021093933,0,3,0,1,8,3,"No","No","Active","Yes","PhD","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",541,0,53,36.7,9.8,"152"
"395",44.33,"No",10.5,"Male","Yes","Yes","Yes",81.4738,25.5,"No",0.527235654347695,0,0,0,1,5,0,"No","Yes","Never","Yes","Vocational","No","(1000-2000]","Yes","Yes","No","No","No","No","No","Yes","No","No","No","Yes","Yes",542,0,55,36,8.55,"157"
"396",43.08,"No",0.5,"Male","Yes","Yes","No",100.673,18.64,"No",-0.10232747804035,0,0,0,0,8,0,"No","Yes","Active","No","Baccalaureat","No","(1000-2000]","No","Yes","No","No","No","No","No","No","No","Yes","No","No","No",543,0,58,36.5,9.05,"158"
"397",48.75,"No",3,"Male","Yes","No","No",92.7538,23.83,"Yes",-0.0574432488858698,0,0,0,0,5,0,"No","Yes","Never","No","Baccalaureat","No","(1000-2000]","No","No","No","No","No","Yes","No","No","No","No","No","No","No",544,0,59,36.8,9.517,"159"
"398",42.83,"No",0.5,"Male","Yes","Yes","Yes",101.931,21.63,"No",0.0619602660106032,2,0,0,1,8,3,"No","No","Ex","Yes","Vocational","No","(1000-2000]","No","No","No","No","No","No","No","Yes","No","No","No","No","No",545,0,62,36.1,8.833,"164"
"399",48.42,"Yes",4,"Male","Yes","Yes","No",94.4042,20.51,"No",-0.123659517769127,1,0,0,1,8,0,"No","No","Active","Yes","Vocational","No","(1000-2000]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","Yes","No",547,0,76,36,9.5,"165"
"400",43.5,"Yes",1,"Male","No","No","Yes",67.1555,24.11,"No",-0.12263884871672,1,0,0,1.413,5,3,"No","No","Active","No","UpToPrimary","No","[0-1000]","No","No","No","No","No","No","No","No","No","No","No","No","No",548,1,62,36,9.7,"165"
"401",42,"No",0.75,"Male","Yes","Yes","Yes",85.3759,23.09,"No",0.243439863193203,1,0,0,0,8,0,"No","No","Never","Yes","UpToPrimary","No","(3000-inf]","Yes","Yes","Yes","No","Yes","No","No","No","No","No","No","Yes","Yes",549,0,63,36.5,9.8,"172"
"402",49.83,"Yes",0,"Male","Yes","Yes","Yes",73.9113,24.44,"No",0.0818308168684702,1,3,3,0,7,0,"No","Yes","Ex","No","Vocational","Past","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",550,3,65,36.1,9.467,"172"
"403",44.42,"No",3,"Male","Yes","Yes","No",81.1591,26.95,"No",0.180756121111852,2,0,0,1,8,0,"Yes","No","Ex","No","Baccalaureat","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",551,0,69,36.2,8.95,"173"
"404",43.08,"No",0,"Male","Yes","Yes","Yes",74.3001,30.05,"Yes",0.144651526977131,2,0,0,1,8,0,"No","No","Never","No","Vocational","Past","(2000-3000]","No","Yes","Yes","No","No","No","No","No","No","Yes","No","Yes","Yes",552,0,65,36.7,9.267,"173"
"405",47.92,"No",3,"Male","Yes","No","Yes",80.6479,25.28,"Yes",0.136448056990828,1,0,0,1,7,0,"No","No","Never","Yes","Vocational","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",553,0,60,36.2,8.55,"178"
"406",48.58,"Yes",4,"Male","No","No","No",81.5202,24.75,"No",0.540661795658364,3,0,0,0,8,0,"No","No","Active","Yes","Baccalaureat","No","(2000-3000]","No","No","Yes","No","Yes","Yes","No","No","Yes","No","Yes","No","Yes",554,0,68,36.5,9.3,"179"
"407",42.92,"No",2,"Male","Yes","No","No",86.4508,23.24,"No",0.411813552029502,1,0,0,0,8.5,0,"No","Yes","Never","Yes","PhD","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","No",555,0,54,36.4,9.067,"187"
"408",48.5,"No",0,"Male","Yes","Yes","Yes",67.5983,24.11,"Yes",0.461609088541415,0,3,0,0,6,8,"No","No","Never","Yes","Vocational","Past","(1000-2000]","Yes","No","Yes","No","No","No","No","No","No","No","No","Yes","No",556,0,54,36.5,9.35,"187"
"409",41.75,"No",0.666,"Male","No","No","Yes",98.2291,28.4,"No",0.393368445597554,4,0,0,1,7,3,"No","No","Never","Yes","Bachelor","No","(1000-2000]","No","No","Yes","Yes","Yes","No","Yes","No","No","No","Yes","Yes","No",557,0,56,36,9.333,"192"
"410",48.5,"Yes",2,"Male","No","No","Yes",103.464,27.75,"No",0.194604974585482,1,0,0,0,7,0,"No","No","Never","Yes","UpToPrimary","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",558,0,55,36.3,9.8,"201"
"411",49,"Yes",3.5,"Male","Yes","Yes","Yes",78.5321,24.91,"No",0.318671458476586,2,0,0,1.394,5,3,"No","No","Never","No","Vocational","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","Yes","No","No","Yes",559,2,55,36.4,8.717,"201"
"412",43.08,"No",4.5,"Male","Yes","Yes","Yes",77.3939,21.5,"No",0.419748049094538,0,0,0,1,7,0,"No","No","Never","Yes","PhD","No","(3000-inf]","No","No","Yes","No","No","Yes","No","No","No","No","No","No","No",560,0,45,36.1,9.55,"206"
"413",41.25,"No",0.666,"Male","Yes","Yes","No",81.6276,31.48,"No",0.256081785617885,1,0,0,0,10,0,"No","No","Ex","Yes","Vocational","No","(2000-3000]","No","No","No","No","No","No","No","Yes","No","No","No","No","No",563,0,50,36.5,8.8,"215"
"414",47,"No",2,"Male","No","Yes","No",82.6234,26.88,"No",0.494474929258416,1,0,0,0,7,0,"No","No","Never","Yes","Vocational","No","(2000-3000]","Yes","No","Yes","No","No","Yes","No","Yes","Yes","Yes","Yes","Yes","Yes",564,0,47,36.3,9.333,"215"
"415",40.67,"No",2,"Male","Yes","Yes","No",72.0315,22.98,"No",0.593381702022547,0,0,0,0,6,0,"No","No","Never","Yes","Bachelor","Current","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","Yes",565,0,47,36.9,9.367,"215"
"416",41.5,"No",4,"Male","Yes","Yes","No",100.782,26.19,"No",0.181267655043598,1,0,0,3,7,8,"No","No","Active","Yes","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",566,0,54,36.3,9.8,"220"
"417",49.58,"No",2,"Male","Yes","Yes","Yes",106.181,25.97,"No",0.325107910809244,1,0,0,0,9,0,"No","No","Active","Yes","Vocational","Current","(2000-3000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",567,0,74,36.3,9.117,"222"
"418",43.92,"No",2,"Male","Yes","Yes","No",90.2273,26.44,"No",0.337613377832182,0,0,0,3,6,0,"No","No","Ex","Yes","Baccalaureat","No","(3000-inf]","Yes","Yes","Yes","Yes","No","Yes","No","No","No","No","Yes","Yes","No",568,0,57,36.1,9.467,"222"
"419",43.42,"No",3,"Male","Yes","Yes","No",74.9498,23.22,"No",0.317229336798735,1,0,0,0,8,0,"No","No","Never","Yes","Vocational","No","(3000-inf]","No","No","No","No","No","No","Yes","Yes","Yes","No","Yes","Yes","No",570,0,47,36.5,9.05,"227"
"420",48.92,"Yes",10,"Male","Yes","Yes","Yes",97.3772,24.16,"No",0.400613864271817,1,0,0,1,6.5,0,"No","No","Ex","Yes","Baccalaureat","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","No",571,0,66,36.6,9.3,"227"
"421",49.58,"Yes",10,"Male","Yes","Yes","Yes",97.3301,25,"No",0.286875512904308,1,0,0,0,7.20446666666667,0,"No","No","Ex","Yes","Vocational","Current","(2000-3000]","Yes","Yes","Yes","No","No","Yes","No","No","No","Yes","No","Yes","No",572,0,71,36.4,9.45,"227"
"422",42.92,"No",10,"Male","Yes","Yes","No",84.3686,23.76,"No",0.471584357642874,0,0,0,0,7.5,0,"No","No","Never","Yes","Bachelor","No","(3000-inf]","No","No","Yes","Yes","No","No","Yes","No","No","No","No","No","No",573,0,46,36.1,8.8,"228"
"423",49.17,"No",0,"Male","Yes","Yes","Yes",67.3899,23.59,"No",0.195408178807472,2,0,0,2,7,0,"No","No","Active","Yes","PhD","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",575,0,55,36.3,8.683,"229"
"424",41.5,"No",3,"Male","Yes","Yes","Yes",88.1675,22.79,"Yes",0.215140733884874,0,0,0,1,7,0,"No","No","Ex","Yes","PhD","No","(3000-inf]","No","No","Yes","Yes","Yes","No","No","No","No","No","Yes","No","No",576,0,50,36.2,8.55,"241"
"425",41.92,"Yes",3,"Male","No","No","Yes",91.8261,26.77,"No",0.250739118617098,0,0,0,1,7,0,"No","No","Ex","Yes","Vocational","Current","(1000-2000]","No","No","Yes","No","No","Yes","No","No","No","No","No","No","No",577,0,55,36.3,8.8,"241"
"426",44.17,"Yes",0,"Male","No","No","Yes",86.6058,22.99,"No",0.291177902510027,1,0,0,1,6.5,3,"No","No","Active","Yes","Vocational","Current","(1000-2000]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","No","No",578,0,62,36,9.05,"241"
"427",40.58,"No",2,"Male","Yes","Yes","Yes",92.3762585,26.06,"No",0.185989375098212,2,0,0,1,8,0,"No","No","Never","Yes","Baccalaureat","No","(1000-2000]","Yes","No","No","No","No","No","No","No","No","Yes","No","No","Yes",579,0,70,36.1,9.317,"241"
"428",43.83,"No",3.5,"Male","Yes","Yes","Yes",83.7601,22.54,"Yes",0.0818787359738557,1,0,0,0,8.5,0,"No","No","Ex","Yes","Baccalaureat","No","(2000-3000]","No","No","No","No","Yes","No","No","No","Yes","No","Yes","Yes","Yes",580,0,49,36.2,9.817,"241"
"429",42.75,"Yes",1.5,"Male","Yes","Yes","No",100.92,23.45,"Yes",0.401658167650676,1,0,0,0,7.5,0,"No","No","Ex","Yes","UpToPrimary","No","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","Yes","No","Yes","Yes",581,0,44,36.5,8.8,"248"
"430",49.08,"No",0,"Male","Yes","Yes","Yes",98.2394,21.84,"Yes",0.453489805923544,0,0,0,0,6,0,"No","No","Ex","Yes","Bachelor","Current","(3000-inf]","No","No","Yes","No","No","Yes","No","No","No","Yes","No","No","No",582,0,70,36.3,9.05,"248"
"431",45.5,"No",0,"Male","Yes","Yes","Yes",70.6028,30.48,"Yes",0.262428909781909,2,0,0,0,7,0,"No","Yes","Never","Yes","Vocational","Past","(1000-2000]","Yes","No","Yes","No","No","Yes","No","Yes","Yes","No","No","Yes","Yes",583,1,60,36.4,8.917,"248"
"432",46.75,"Yes",2,"Male","No","No","No",108.764,22.75,"No",0.306274674604092,0,0,0,1,7,0,"No","No","Never","Yes","Baccalaureat","Current","(1000-2000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",584,0,40,36.2,8.55,"255"
"433",40.33,"Yes",7,"Male","No","Yes","Yes",102.249,23.22,"Yes",0.226099626770015,0,0,0,1,6,3,"No","Yes","Active","No","UpToPrimary","No","[0-1000]","No","No","No","Yes","No","No","No","No","No","Yes","No","Yes","No",586,2,50,36.3,9.3,"264"
"434",44.67,"Yes",4.5,"Male","No","Yes","No",94.9263,23.24,"Yes",0.276311099050919,1,3,0,3,5,3,"No","Yes","Active","No","Vocational","Past","[0-1000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",587,1,73,36.3,9.05,"269"
"435",49.92,"Yes",0.5,"Male","Yes","Yes","No",98.8051,24.15,"No",0.184740368164194,0,0,0,2,7,0,"No","No","Ex","No","Vocational","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",588,0,58,36,8.8,"278"
"436",42.25,"No",1,"Male","Yes","No","Yes",105.779,22.14,"Yes",0.118014892895708,0,3,0,1,8,8,"No","Yes","Never","Yes","Baccalaureat","Past","(1000-2000]","No","No","No","Yes","No","No","No","No","No","Yes","No","Yes","No",589,1,49,36.4,8.8,"284"
"437",46.83,"Yes",0,"Male","No","No","Yes",73.2526,29.58,"No",0.126575732447351,2,0,0,1,8,0,"No","No","Ex","Yes","Vocational","No","(1000-2000]","Yes","No","Yes","No","Yes","No","Yes","No","No","No","Yes","Yes","No",590,0,70,36.7,9.55,"292"
"438",41.83,"No",1,"Male","Yes","Yes","Yes",91.1456,30.79,"No",0.184026586306583,3,0,0,1,6,3,"No","No","Ex","Yes","Bachelor","No","(2000-3000]","Yes","No","Yes","No","Yes","No","No","No","No","Yes","No","No","No",592,0,65,36.5,8.817,"298"
"439",46.75,"No",18,"Male","No","Yes","Yes",79.6461,20.97,"No",0.465149132639775,0,0,0,0,7,0,"No","No","Never","Yes","Bachelor","No","(2000-3000]","No","No","No","No","No","No","No","Yes","No","No","No","No","No",593,0,39,36,8.95,"298"
"440",40.33,"No",4.5,"Male","Yes","Yes","Yes",114.53,28.98,"No",0.427115276922107,1,0,0,2,7,3,"No","Yes","Ex","Yes","Vocational","No","(3000-inf]","No","No","Yes","Yes","No","No","No","Yes","No","Yes","No","No","No",594,0,46,36,9.517,"298"
"441",41.58,"No",1,"Male","Yes","Yes","Yes",93.1329,20.47,"Yes",0.532095922270388,0,0,0,1,7,0,"No","No","Never","No","PhD","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","Yes","Yes","No","Yes","No",595,0,45,36,8.667,"299"
"442",47.08,"No",0,"Male","Yes","Yes","No",87.0428,29.72,"No",0.422180059246594,3,0,0,1,10,3,"No","No","Active","Yes","Vocational","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",597,0,61,36.3,9.333,"305"
"443",48.33,"No",2,"Male","Yes","Yes","No",107.717,24.28,"No",0.108349785796374,0,0,3,1,7,3,"No","Yes","Ex","Yes","Vocational","No","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",598,0,53,36.7,9.783,"306"
"444",40.25,"No",2,"Male","Yes","Yes","Yes",79.2119,27.96,"No",0.40627544742856,3,0,0,3,6,3,"No","No","Ex","Yes","Bachelor","No","(3000-inf]","No","No","Yes","Yes","No","No","No","Yes","No","No","No","No","No",599,0,50,36.5,9.25,"306"
"445",48.17,"No",4.5,"Male","No","No","Yes",89.1214,26.58,"Yes",0.541907653678207,0,0,0,0,9,3,"No","No","Never","Yes","Baccalaureat","Past","(2000-3000]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","Yes","No",600,0,58,36.3,9.617,"312"
"446",57.83,"No",2,"Female","Yes","Yes","Yes",101.503,19.36,"Yes",-0.0511525224473813,2,0,0,3,8,0,"No","No","Active","No","Bachelor","No","(2000-3000]","Yes","Yes","Yes","No","No","No","No","No","No","Yes","No","Yes","No",601,0,69,36.7,8.55,"32"
"447",56.5,"Yes",3,"Female","No","No","Yes",82.4778,27.33,"No",-0.385350881364017,2,0,0,1.266,7,3,"No","Yes","Ex","No","Vocational","No","(1000-2000]","No","No","No","No","Yes","Yes","No","No","No","Yes","No","Yes","No",602,0,65,36.8,9.017,"32"
"448",55.58,"Yes",0.25,"Female","No","Yes","Yes",105.545,23.87,"No",0.0796722517323771,1,0,0,1,8.5,3,"Yes","Yes","Ex","Yes","PhD","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",603,0,52,36.3,9.4,"32"
"449",58.25,"No",2,"Female","Yes","Yes","No",107.01,30.81,"No",0.45974715865024,1,14,0,0,9.5,0,"No","No","Never","No","Baccalaureat","No","(3000-inf]","No","No","No","No","Yes","No","No","No","No","No","No","No","No",604,0,55,36.6,9.733,"32"
"450",57.33,"Yes",0,"Female","No","Yes","No",102.689,26.17,"Yes",0.618923237701001,2,0,0,0,7,0,"No","Yes","Never","Yes","UpToPrimary","Current","(1000-2000]","No","No","Yes","Yes","No","No","No","No","No","No","No","No","Yes",605,0,53,36,8.55,"33"
"451",58.25,"No",6,"Female","Yes","Yes","No",93.4125,27.63,"No",-0.076048359734046,1,0,0,1,8,3,"No","No","Never","No","PhD","No","(1000-2000]","No","No","Yes","No","Yes","No","No","No","No","No","No","No","No",606,0,58,36.4,9,"33"
"452",51.17,"No",1,"Female","Yes","Yes","No",90.806,20.71,"No",0.156666988532641,0,0,0,1,7.5,0,"No","No","Never","Yes","Bachelor","No","(2000-3000]","No","No","Yes","Yes","No","No","No","No","No","No","No","No","No",607,0,57,36.6,9.333,"33"
"453",56.83,"No",0,"Female","Yes","Yes","Yes",74.4714,19.6,"Yes",-0.130874516688806,1,3,0,3,7,0,"No","Yes","Never","Yes","Bachelor","Current","(2000-3000]","Yes","Yes","No","Yes","No","Yes","No","No","No","No","No","No","No",609,2,62,36.8,8.733,"33"
"454",50.58,"No",3,"Female","Yes","Yes","Yes",89.0153,25.09,"Yes",0.19718697026147,1,0,0,1,7,0,"No","No","Ex","Yes","Vocational","No","(3000-inf]","No","No","No","Yes","No","No","No","No","No","Yes","No","No","No",610,0,54,36.3,9.133,"33"
"455",56.25,"No",0.25,"Female","Yes","Yes","No",90.5236,30.46,"No",0.231372706851609,2,0,0,2,8.5,0,"No","Yes","Never","No","Vocational","No","(2000-3000]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","No","Yes",611,0,47,36.9,9.25,"33"
"456",55.67,"No",1,"Female","No","No","Yes",110.018,18.5,"No",-0.0855156443129794,0,3,3,2,7.5,0,"No","Yes","Active","No","Bachelor","No","[0-1000]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",612,1,68,36.6,9.417,"33"
"457",53.17,"No",0.5,"Female","No","Yes","No",91.5212,25.47,"No",0.666552327067762,3,0,0,3,6,0,"No","No","Ex","Yes","Vocational","No","(2000-3000]","No","No","Yes","No","No","Yes","No","No","No","No","No","Yes","No",613,0,67,36.1,8.967,"67"
"458",54.25,"No",3.5,"Female","Yes","No","Yes",84.0812,20.39,"No",-0.0624545036425547,0,0,0,1,7,0,"No","Yes","Ex","No","Vocational","Past","(3000-inf]","Yes","No","No","No","No","No","No","No","No","No","No","Yes","Yes",614,2,72,36.5,8.883,"67"
"459",52.92,"No",0.167,"Female","No","No","No",104.762,22.54,"Yes",0.177946654842798,0,0,3,3,7,3,"No","Yes","Active","Yes","Baccalaureat","No","(1000-2000]","Yes","Yes","Yes","Yes","No","No","No","No","No","No","No","No","No",615,2,55,36,9.017,"67"
"460",58.25,"No",0.5,"Female","Yes","No","Yes",89.2695,23.03,"No",0.447442534779779,1,0,0,3,5,0,"No","No","Never","Yes","Vocational","No","(3000-inf]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","No","Yes",616,0,54,36.5,9.033,"68"
"461",53.83,"No",0,"Female","Yes","Yes","No",105.387,23.91,"Yes",-0.177687931743477,2,0,0,1,9,3,"No","No","Active","Yes","Vocational","No","(3000-inf]","No","No","No","No","No","No","No","No","No","Yes","No","Yes","No",617,0,50,36.2,9.683,"68"
"462",51.17,"No",2.499,"Female","No","Yes","Yes",84.4383,19.59,"No",-0.203398762758257,1,0,0,1,7,0,"Yes","Yes","Ex","Yes","Baccalaureat","No","(1000-2000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",618,0,62,36.3,9.1,"68"
"463",54.25,"No",0,"Female","No","No","No",97.5093,19.06,"Yes",-0.0489774829343713,0,0,0,1,7,0,"No","Yes","Never","Yes","UpToPrimary","No","[0-1000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",619,0,55,36.4,9.4,"68"
"464",51.58,"No",2,"Female","Yes","No","No",121.903,19.46,"No",0.43210098124639,1,0,0,1,7.5,0,"No","No","Ex","Yes","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",620,0,55,36.3,9.4,"68"
"465",53.08,"No",1.5,"Female","No","Yes","No",104.827,31.61,"No",0.640362893128237,2,0,0,1,7.79393333333333,0,"No","No","Never","Yes","Vocational","No","(1000-2000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","Yes",621,0,52,36.2,9.55,"68"
"466",58.67,"No",0,"Female","Yes","No","No",92.8453,20.93,"No",0.23115147394222,0,0,0,1,7,3,"No","No","Ex","Yes","Bachelor","No","(2000-3000]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","No","Yes",622,0,56,36.2,9.767,"68"
"467",57.92,"No",1,"Female","Yes","No","No",87.6723,23.91,"No",-0.250011163992445,1,0,3,3,8,3,"No","Yes","Never","Yes","Vocational","No","(3000-inf]","Yes","No","No","No","No","Yes","No","No","No","Yes","No","Yes","Yes",623,1,65,36.6,8.883,"75"
"468",52.33,"Yes",2,"Female","No","No","Yes",111.561,26.76,"No",-0.0717857754240779,1,0,3,1,7,3,"No","No","Ex","No","Baccalaureat","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",624,0,66,36.5,9.55,"75"
"469",57.75,"No",2.001,"Female","Yes","No","Yes",97.324,30.09,"No",0.375802122806551,2,0,0,1.288,5,0,"No","No","Never","No","UpToPrimary","Past","(2000-3000]","No","No","Yes","No","No","Yes","No","No","Yes","No","No","Yes","Yes",625,0,62,36.5,9.05,"108"
"470",59,"Yes",6,"Female","No","No","Yes",98.9339,20.66,"Yes",-0.163126281891314,1,0,0,2,8,3,"No","No","Ex","Yes","Bachelor","No","(1000-2000]","Yes","No","No","No","No","Yes","No","No","No","No","No","Yes","No",626,0,49,36.2,8.717,"108"
"471",55.25,"No",5.25,"Female","Yes","No","No",112.92,21.87,"No",-0.11254183602186,0,3,3,1,6,0,"No","No","Never","Yes","Vocational","Current","[0-1000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",627,2,54,36.3,9.15,"108"
"472",59.17,"No",2,"Female","Yes","No","No",113.228,24.88,"Yes",-0.230712209947661,1,0,0,0,8,0,"No","No","Never","No","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",629,0,84,36,9.483,"110"
"473",54.92,"Yes",2,"Female","No","No","Yes",103.636,26.37,"Yes",-0.132312334477094,1,8,3,1,8,8,"No","Yes","Ex","Yes","UpToPrimary","Current","(1000-2000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",630,14,66,36.5,9.05,"111"
"474",53.33,"No",4,"Female","Yes","No","No",86.6983,27.73,"No",-0.0318696347671585,1,0,0,0,6,0,"No","No","Never","Yes","UpToPrimary","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",631,0,59,36,9.3,"111"
"475",50.92,"Yes",6,"Female","Yes","No","No",90.0037,19.77,"Yes",0.441163315634254,0,0,0,2,8,3,"No","Yes","Never","No","Baccalaureat","No","[0-1000]","No","No","No","Yes","No","No","No","No","No","Yes","No","No","No",632,2,54,37,8.567,"111"
"476",52.33,"No",0.75,"Female","Yes","Yes","Yes",92.8072,20.7,"No",-0.075421097174318,0,0,0,1,7.5,0,"No","No","Never","Yes","PhD","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","No","Yes",634,0,56,36.7,9.25,"131"
"477",53,"No",2,"Female","No","No","No",81.9213,31.64,"No",0.313875949994213,1,0,0,1,7.5,0,"No","Yes","Never","Yes","Vocational","No","(1000-2000]","Yes","No","Yes","Yes","No","No","No","No","No","Yes","No","Yes","No",635,0,57,36.6,8.967,"131"
"478",51,"Yes",3,"Female","Yes","Yes","Yes",89.685,26.12,"Yes",0.322946577196388,1,0,0,2,5,3,"No","Yes","Never","Yes","Bachelor","No","(1000-2000]","No","No","Yes","Yes","No","No","No","No","No","No","No","No","No",636,1,64,36.9,9.25,"131"
"479",55.75,"No",0.25,"Female","No","Yes","No",93.5194,24.6,"Yes",-0.232334132054632,1,0,0,1,8,0,"No","No","Never","Yes","Bachelor","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",637,1,61,36.6,8.55,"137"
"480",52.67,"Yes",0,"Female","Yes","Yes","No",103.657,22.49,"Yes",0.0658939540073467,1,3,3,1,9,3,"No","Yes","Ex","No","Vocational","No","(1000-2000]","No","No","Yes","Yes","No","Yes","No","No","No","No","No","Yes","No",638,3,59,36.3,8.8,"137"
"481",52.08,"No",2.668,"Female","Yes","Yes","No",68.3531,24.38,"No",0.0409768933773956,1,0,0,0,7,0,"No","No","Ex","Yes","Baccalaureat","No","(3000-inf]","Yes","No","No","No","No","No","No","No","No","Yes","No","Yes","No",639,0,57,36.4,9.05,"138"
"482",56,"No",1,"Female","No","No","Yes",119.347,22.94,"Yes",-0.0703122445142615,0,0,0,0,8,0,"No","No","Never","Yes","Baccalaureat","No","(1000-2000]","Yes","Yes","Yes","Yes","No","Yes","No","No","No","No","No","No","No",640,0,68,36.5,8.55,"143"
"483",59.92,"No",1,"Female","Yes","No","Yes",95.9948,25.39,"Yes",-0.0957686339492472,3,0,0,0,8,0,"No","No","Never","No","UpToPrimary","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",642,0,59,36.8,9.15,"144"
"484",59.42,"No",1,"Female","Yes","No","No",119.871,21.82,"No",0.000847404135985516,0,0,0,3,6.8426,0,"No","No","Never","Yes","UpToPrimary","No","[0-1000]","No","No","No","No","No","Yes","No","No","No","No","No","No","No",643,0,50,36.4,9.55,"145"
"485",57,"No",1,"Female","No","No","Yes",86.634,21.56,"Yes",-0.318758762624413,0,0,0,1,7,0,"No","No","Never","No","Baccalaureat","No","(1000-2000]","No","No","No","No","No","No","No","No","No","Yes","Yes","Yes","No",644,0,62,36.7,9.8,"145"
"486",56.08,"No",2,"Female","Yes","No","No",80.6426,25.47,"No",-0.29262945363755,1,0,0,0,7,0,"No","No","Never","Yes","Bachelor","No","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",645,0,62,36.4,8.55,"150"
"487",55.83,"Yes",3,"Female","No","No","No",97.6102,24.09,"Yes",0.00357446035829814,1,0,0,1,8,0,"No","No","Never","Yes","Baccalaureat","No","(2000-3000]","No","No","No","No","No","Yes","No","No","No","No","No","Yes","Yes",646,0,54,36.6,9.05,"150"
"488",54.42,"No",1,"Female","No","No","Yes",84.9372,22.13,"Yes",-0.0954281390997616,1,0,0,1,5,0,"No","No","Never","Yes","Vocational","No","(1000-2000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",647,0,63,36.8,9.05,"151"
"489",58.75,"No",1.5,"Female","Yes","No","Yes",77.9165,19.77,"No",0.0127326720067007,1,0,3,1,8,0,"No","No","Never","No","UpToPrimary","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",648,1,53,36.4,9.55,"152"
"490",55,"No",0,"Female","No","No","No",94.0077,20.44,"Yes",0.357055964386207,1,0,3,1,8,3,"No","No","Never","Yes","Vocational","No","(1000-2000]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","Yes","No",650,1,64,36.2,9.45,"178"
"491",53.17,"No",0,"Female","Yes","Yes","No",104.659,23.63,"No",0.495392550772388,2,0,0,3,6.84315,0,"No","No","Never","Yes","Baccalaureat","No","(3000-inf]","No","No","No","Yes","No","Yes","No","No","No","Yes","No","Yes","No",651,0,59,36.4,9.283,"179"
"492",56.83,"No",1.75,"Female","Yes","Yes","No",95.0423,20.79,"No",0.418703180660949,0,0,0,2,8,3,"No","Yes","Never","No","Baccalaureat","No","(3000-inf]","No","Yes","Yes","No","No","Yes","No","No","No","Yes","No","No","No",652,0,45,36.5,8.767,"187"
"493",55.17,"No",3,"Female","Yes","No","Yes",77.8958,23.71,"No",-0.20194306340165,1,0,0,0,9,0,"No","No","Ex","Yes","Vocational","No","(3000-inf]","No","No","No","No","No","Yes","No","No","No","No","No","Yes","No",653,0,55,36.6,8.55,"192"
"494",53,"No",1,"Female","No","No","Yes",99.8964,22.1,"Yes",0.467542249683264,1,0,0,2,8,0,"No","No","Never","Yes","Bachelor","No","(2000-3000]","Yes","No","Yes","No","No","Yes","No","No","No","Yes","No","Yes","No",654,0,59,36.8,9.55,"192"
"495",53,"No",1,"Female","No","Yes","Yes",99.036,21.09,"No",0.286043267727743,0,0,0,1,8,0,"No","No","Never","Yes","Vocational","Past","[0-1000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",655,0,50,36.5,9.3,"200"
"496",52.83,"No",0.167,"Female","No","Yes","Yes",93.2144,20.31,"Yes",0.518435127704202,0,0,3,1,7,3,"No","No","Never","Yes","Vocational","Past","[0-1000]","No","No","Yes","No","Yes","No","No","No","No","No","No","No","No",656,3,59,36.5,8.933,"206"
"497",57.58,"No",0,"Female","Yes","No","No",80.8684,30.44,"No",0.42952986985574,1,0,0,2,7.05,3,"No","Yes","Never","Yes","Baccalaureat","No","(3000-inf]","Yes","Yes","Yes","Yes","No","Yes","Yes","No","No","No","Yes","No","No",657,0,62,36.7,8.833,"206"
"498",52.42,"No",0.666,"Female","No","Yes","No",98.8935,28.47,"No",0.509553837225543,2,0,0,1,7,0,"No","No","Never","Yes","Baccalaureat","No","(1000-2000]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","No","No",658,0,58,36.1,9.35,"220"
"499",59.17,"No",3,"Female","No","No","No",91.6555680000001,28.54,"Yes",0.291021553766219,2,0,0,1,7,0,"No","No","Never","No","UpToPrimary","No","(1000-2000]","No","No","Yes","No","No","No","No","No","Yes","No","Yes","Yes","Yes",659,0,59,36.2,8.767,"220"
"500",56.17,"No",4,"Female","No","No","No",90.4743,27.4,"Yes",0.13650005327209,1,0,0,1,7,0,"No","No","Active","Yes","PhD","No","(2000-3000]","Yes","Yes","Yes","Yes","No","No","No","No","No","No","Yes","No","No",660,0,55,36.2,9.583,"221"
"501",50.83,"No",1,"Female","Yes","No","Yes",101.423,29.68,"Yes",0.430310198792761,1,0,3,2,8,0,"No","Yes","Ex","No","Baccalaureat","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","Yes",662,0,74,37.2,9.017,"229"
"502",52.17,"No",1,"Female","Yes","Yes","No",102.991,21.25,"Yes",0.269469298724497,1,0,0,0,6,0,"No","No","Ex","Yes","Baccalaureat","No","(2000-3000]","Yes","Yes","Yes","Yes","Yes","Yes","No","No","No","Yes","No","Yes","No",663,0,69,36.2,8.917,"241"
"503",55.83,"No",4.5,"Female","No","No","Yes",86.9905,24.16,"Yes",0.00542875171139822,2,0,0,1,8,3,"No","No","Ex","No","Vocational","No","(1000-2000]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","No","No",664,1,49,36.2,9.583,"241"
"504",51.08,"No",0.5,"Female","Yes","Yes","No",91.5798,21.9,"Yes",0.162214855571693,2,0,0,1,6,3,"No","Yes","Active","Yes","Vocational","No","(2000-3000]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","No","No",665,0,68,36.9,9.467,"256"
"505",58.75,"No",0,"Female","No","Yes","Yes",94.4374,27.55,"Yes",-0.356299084306195,1,0,0,1,6,0,"No","Yes","Never","No","Vocational","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",666,0,58,36.3,8.85,"256"
"506",51.67,"No",2.001,"Female","Yes","Yes","Yes",99.988,18.9,"Yes",0.478257854378882,1,0,0,0,8,0,"No","No","Never","Yes","Baccalaureat","No","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","Yes",667,0,56,36.6,8.95,"256"
"507",57.17,"No",20,"Female","Yes","No","No",102.425,24.65,"No",0.521442381403899,1,0,0,1.624,8,8,"No","No","Never","Yes","UpToPrimary","Past","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","Yes",668,3.66666666666667,59,36.7,9.067,"256"
"508",59.5,"No",7.5,"Female","Yes","No","No",101.3,24.74,"No",0.108764940884002,1,0,0,1,8,3,"No","Yes","Never","No","Vocational","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",669,1,54,36,9.167,"257"
"509",53,"Yes",2,"Female","No","No","No",86.2461,23.14,"No",0.0813382483005671,1,0,0,1,6,3,"No","No","Never","Yes","UpToPrimary","No","(1000-2000]","Yes","Yes","Yes","No","No","No","No","No","No","No","No","Yes","No",670,0,56,36.1,9.767,"263"
"510",51.92,"No",0,"Female","No","No","Yes",80.9177,24.84,"Yes",0.00939051680606951,2,0,0,1,4.5,3,"No","No","Never","Yes","Vocational","Current","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",672,0,52,36.2,9.367,"264"
"511",51.17,"No",2,"Female","Yes","Yes","Yes",92.1257,26.98,"No",0.177000776627686,1,0,0,1,7,3,"No","No","Never","Yes","Baccalaureat","No","(3000-inf]","Yes","No","No","Yes","No","Yes","No","No","No","No","No","No","No",673,0,55,36.3,9.283,"264"
"512",54.42,"Yes",2,"Female","Yes","Yes","No",101.449,23.42,"Yes",-0.00597388348875275,1,0,0,3,7,3,"No","No","Never","Yes","UpToPrimary","Current","(2000-3000]","No","No","No","No","No","No","No","No","No","Yes","No","No","No",674,2,65,36.5,9.2,"269"
"513",57.67,"No",4,"Female","Yes","Yes","No",74.0174,26.02,"No",0.162838526716365,0,0,0,1,8,0,"No","No","Ex","No","Bachelor","No","(3000-inf]","No","No","Yes","No","No","No","Yes","No","No","No","No","Yes","Yes",675,0,57,36.5,9.633,"269"
"514",57.75,"Yes",6,"Female","Yes","No","No",90.6519,26.49,"No",0.437285740401076,2,0,0,2,8,8,"No","No","Ex","No","Vocational","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","No","Yes",677,5.33333333333333,66,36.3,9.483,"276"
"515",57.92,"Yes",0.5,"Female","No","No","No",93.414,24,"No",0.486381615838867,2,0,3,3,7,3,"No","Yes","Ex","Yes","Vocational","Current","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",678,0,58,36.4,8.8,"277"
"516",51.75,"No",1,"Female","Yes","Yes","Yes",87.8999,22.14,"Yes",0.665111737075051,1,0,0,1,7,0,"No","No","Active","Yes","Baccalaureat","No","(3000-inf]","No","No","Yes","Yes","No","Yes","No","No","No","No","No","Yes","No",679,0,54,36.4,9.3,"277"
"517",52,"No",2,"Female","No","No","Yes",85.6499,22.83,"No",0.227243781503063,1,0,0,1,7,0,"No","Yes","Ex","No","Vocational","No","[0-1000]","Yes","No","No","Yes","No","No","No","No","No","No","No","Yes","No",680,0,59,36.6,9.5,"277"
"518",56.67,"No",3,"Female","Yes","Yes","No",73.8957,20.83,"No",0.219972744617601,1,0,0,1,7.5,3,"No","No","Ex","No","Baccalaureat","No","(2000-3000]","No","No","No","No","No","No","No","No","Yes","No","No","No","No",681,1,57,36.6,9.533,"278"
"519",55.42,"No",1,"Female","Yes","Yes","No",82.304,24.65,"Yes",0.605091320823951,1,0,0,2,8,0,"No","Yes","Never","Yes","Baccalaureat","No","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","No","Yes","No","No",683,0,62,36.5,9.75,"278"
"520",56.42,"No",6,"Female","No","No","No",71.3147,20.02,"No",0.0824448807012805,0,0,0,3,6.5,0,"No","Yes","Ex","Yes","Bachelor","No","(1000-2000]","Yes","No","Yes","No","No","Yes","No","No","No","Yes","No","Yes","No",684,0,56,36.2,8.55,"283"
"521",54.58,"No",2.5,"Female","Yes","Yes","No",87.8857,20.96,"Yes",0.350801612394977,0,0,0,2,7,0,"No","No","Never","Yes","PhD","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",685,0,60,36.4,9.517,"283"
"522",55.17,"No",1,"Female","No","Yes","Yes",99.9135,20.79,"No",-0.229298237271966,1,0,0,2,8,0,"No","Yes","Ex","Yes","Bachelor","No","(2000-3000]","Yes","No","No","Yes","No","No","No","No","No","No","No","No","No",686,0,57,36.5,9.8,"284"
"523",58.58,"Yes",2,"Female","No","No","No",91.7892,26.17,"Yes",0.367850150366768,1,0,0,0,8,0,"No","No","Never","Yes","Vocational","No","(1000-2000]","No","No","No","No","No","Yes","No","No","No","No","No","No","No",687,0,48,36.6,8.933,"284"
"524",52.17,"No",1,"Female","No","Yes","No",85.7242,20.83,"Yes",-0.270697317154173,0,3,0,1,7.5,3,"No","No","Ex","Yes","Baccalaureat","No","(2000-3000]","No","No","Yes","Yes","No","No","No","No","No","Yes","No","Yes","No",688,2,58,36.7,8.8,"284"
"525",57.58,"No",1,"Female","Yes","Yes","Yes",91.8119,24.69,"Yes",-0.285362363408576,1,0,0,1,7,0,"No","No","Ex","No","Baccalaureat","No","(3000-inf]","No","No","No","Yes","No","No","No","No","No","No","No","No","No",689,1,64,36.3,9.65,"285"
"526",58.17,"No",4,"Female","Yes","Yes","No",78.2149,20.68,"No",-0.0227629992235756,2,0,0,0,9,0,"No","No","Never","Yes","Bachelor","Past","(3000-inf]","No","No","No","No","No","No","No","Yes","No","No","No","No","No",690,1,69,36.6,9.6,"290"
"527",58.17,"No",3,"Female","Yes","No","Yes",82.8241,22.06,"No",-0.0763542581524445,0,0,0,3,7.5,0,"No","Yes","Never","No","PhD","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",691,0,53,36,9.467,"290"
"528",53.92,"No",0.5,"Female","Yes","Yes","No",91.3785,25,"No",0.363731967317111,2,0,0,0,9,0,"No","No","Never","Yes","Baccalaureat","No","(2000-3000]","No","No","No","No","No","No","No","Yes","No","No","No","Yes","Yes",692,0,56,36.9,9.55,"291"
"529",55.92,"Yes",4.5,"Female","No","No","Yes",92.8715,23.19,"Yes",0.694885118042133,1,0,0,1,7,0,"No","Yes","Active","Yes","Vocational","No","(1000-2000]","Yes","Yes","Yes","Yes","No","No","No","No","No","No","No","Yes","No",693,1,75,36.3,9.767,"292"
"530",56.92,"Yes",5.25,"Female","No","No","Yes",89.385,22.37,"No",0.578566061527526,0,3,3,0,9,3,"No","No","Ex","Yes","Baccalaureat","No","(2000-3000]","Yes","No","Yes","No","No","Yes","No","No","No","Yes","No","Yes","Yes",694,1,59,36.5,9.05,"297"
"531",54.17,"No",0,"Female","Yes","Yes","No",73.6899,23.23,"No",0.602387884497108,1,0,0,1,8,3,"No","No","Active","No","Vocational","No","(3000-inf]","No","No","No","No","No","No","Yes","No","No","No","Yes","Yes","Yes",695,0,57,36,9.7,"304"
"532",55.83,"No",2,"Female","Yes","No","No",90.8124,21.88,"Yes",0.489622902022975,1,0,0,2,7,3,"No","No","Never","No","Baccalaureat","Past","(3000-inf]","Yes","No","No","No","No","No","No","No","No","No","Yes","Yes","Yes",696,4.66666666666667,52,36.3,8.8,"304"
"533",52.67,"No",1,"Female","Yes","Yes","Yes",93.3901,29.24,"Yes",0.100861764403824,1,3,0,3,7,0,"No","No","Never","No","PhD","No","(2000-3000]","No","No","Yes","Yes","No","Yes","No","No","No","No","No","No","No",697,0,55,36.3,9.8,"305"
"534",50.75,"Yes",20,"Female","No","Yes","Yes",87.4289,21.79,"Yes",0.141108553166642,1,3,3,3,7,3,"No","Yes","Ex","No","UpToPrimary","No","[0-1000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",698,2,56,36,9.033,"306"
"535",54.92,"Yes",16,"Female","No","Yes","No",74.7935,24.02,"No",0.576722366621743,1,0,3,3,8.5,3,"No","Yes","Never","No","Vocational","No","[0-1000]","No","No","No","No","No","No","No","No","No","No","No","No","No",699,0,52,36.2,9.067,"312"
"536",55.83,"No",0,"Female","Yes","Yes","No",83.7589,30.48,"Yes",0.248784407932814,1,0,0,2,6,0,"No","No","Active","No","Vocational","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",700,0,57,36.7,9.183,"318"
"537",52.08,"No",2,"Male","Yes","Yes","No",93.7443,23.18,"No",0.0730209373428064,0,0,0,1.421,3,3,"No","Yes","Never","No","Baccalaureat","Past","(1000-2000]","Yes","No","Yes","Yes","Yes","Yes","No","No","No","No","No","No","No",702,0,59,36.4,8.9,"31"
"538",58.08,"No",1,"Male","Yes","No","No",76.0868,30.97,"No",0.0768813581560446,4,0,0,0,8,3,"No","Yes","Active","Yes","Bachelor","No","(2000-3000]","No","No","No","Yes","No","No","No","No","No","No","No","No","No",703,1,53,36.3,9.233,"31"
"539",57.08,"Yes",9,"Male","No","No","No",100.701,25.55,"No",0.693830364683608,2,0,0,1,7,0,"No","No","Never","No","Baccalaureat","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",704,0,63,36.3,9.917,"31"
"540",52.5,"No",0,"Male","Yes","Yes","Yes",104.96,21.56,"Yes",0.069745088499366,1,0,0,3,6,0,"No","No","Never","No","UpToPrimary","No","(1000-2000]","No","No","No","No","No","No","No","No","No","Yes","No","No","No",705,0,50,36,8.783,"32"
"541",50.67,"No",14,"Male","Yes","Yes","Yes",80.815,23.19,"Yes",-0.158283893871905,0,0,0,1,7,3,"No","Yes","Never","Yes","Vocational","No","(2000-3000]","Yes","No","Yes","Yes","Yes","No","No","No","No","No","No","Yes","No",706,2,49,36,9.167,"32"
"542",51.33,"Yes",0,"Male","Yes","No","Yes",83.1021,29.6,"No",-0.105092794558218,3,0,0,0,6,0,"No","No","Ex","Yes","Baccalaureat","No","(3000-inf]","No","No","No","No","No","No","No","No","No","Yes","No","No","No",707,0,66,36.4,9.5,"32"
"543",53.42,"No",3,"Male","Yes","No","No",98.1949,26.02,"No",0.449145652577733,1,0,3,1,7,3,"No","No","Active","Yes","Bachelor","No","(3000-inf]","No","No","Yes","Yes","No","No","No","No","No","No","No","No","No",708,0,49,36.4,8.6,"66"
"544",55.58,"No",1,"Male","Yes","Yes","No",96.2067,25.72,"Yes",0.182158028273631,1,0,0,0,7,0,"No","No","Ex","Yes","Vocational","No","(3000-inf]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","Yes","Yes",709,0,67,36.2,8.9,"66"
"545",54.67,"No",1,"Male","Yes","Yes","Yes",95.8122,23.73,"No",-0.11834840556455,1,0,0,1,7,0,"No","No","Never","No","Vocational","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",710,0,57,36.6,9.283,"66"
"546",53.83,"No",0,"Male","Yes","Yes","Yes",92.5581,22.32,"Yes",0.303810125298069,0,0,0,0,9,0,"No","No","Ex","Yes","Vocational","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","No","No",711,0,54,36,9.6,"66"
"547",54.08,"No",0,"Male","Yes","Yes","No",97.0596,29.76,"Yes",0.474456863038251,1,0,0,1,7,0,"No","No","Active","Yes","Vocational","Past","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","Yes",712,0,55,36.2,9.55,"66"
"548",58.67,"Yes",0,"Male","Yes","No","No",96.8047,31.4,"No",0.116693027575223,2,0,0,1,6,0,"No","No","Never","Yes","UpToPrimary","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","No",713,0,71,36.6,9.7,"66"
"549",53,"No",1.5,"Male","No","No","Yes",92.8818987000001,24.16,"No",-0.188291344495515,0,0,0,2,8,8,"No","Yes","Never","No","Bachelor","No","[0-1000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",714,3,64,36.3,9.3,"66"
"550",53.17,"No",5,"Male","No","Yes","No",91.0748,25.99,"No",0.204617741428927,2,0,0,2,5.5,0,"No","Yes","Never","Yes","Vocational","No","(1000-2000]","No","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",715,0,57,36,8.883,"67"
"551",51.25,"No",0,"Male","Yes","Yes","No",93.9261,31.95,"No",0.43210098124639,2,0,0,1,6,0,"No","No","Never","Yes","Bachelor","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",717,0,70,36.1,9.55,"67"
"552",56.67,"No",4.5,"Male","No","No","No",103.558,26.77,"No",0.0538886617565992,1,0,0,0,8.5,0,"No","No","Never","Yes","Baccalaureat","Past","(1000-2000]","No","No","Yes","No","No","Yes","No","No","No","No","No","No","No",718,0,60,36.6,9.367,"68"
"553",50.25,"Yes",0.333,"Male","Yes","Yes","Yes",75.1298,25.4,"No",0.289471834969262,1,3,3,0,7,3,"No","Yes","Ex","Yes","Vocational","Past","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",719,2,58,36.4,9.3,"108"
"554",59.25,"No",1.5,"Male","No","No","No",99.4844683000002,19.75,"No",-0.0807633770574996,1,0,0,0,8,0,"No","No","Never","No","Baccalaureat","No","[0-1000]","No","Yes","No","Yes","No","No","No","No","No","No","No","No","No",720,1,63,36.2,9.3,"110"
"555",60,"No",0.5,"Male","Yes","No","No",95.6351,22.32,"Yes",-0.155529100140792,0,0,0,0,8.5,0,"No","No","Never","No","Baccalaureat","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",721,0,44,36,9.55,"110"
"556",57.83,"No",8,"Male","Yes","No","Yes",96.7938,23.56,"No",0.143422142302313,0,0,0,1,8,0,"No","No","Never","No","Vocational","No","(3000-inf]","No","No","Yes","Yes","No","No","No","No","No","No","No","Yes","Yes",722,0,52,36,9.417,"131"
"557",57.83,"No",30,"Male","Yes","Yes","Yes",114.49,26.21,"Yes",-0.310121173110651,2,0,0,1,9,3,"No","No","Never","No","Baccalaureat","No","(3000-inf]","Yes","Yes","Yes","Yes","No","No","No","No","No","No","No","Yes","No",723,1,37,36,9.383,"137"
"558",58,"No",1,"Male","Yes","No","Yes",88.7102,24.39,"Yes",-0.117093203579964,3,0,3,1,7,0,"No","No","Active","No","PhD","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","No","No",724,0,64,36,9.567,"144"
"559",59.67,"No",6,"Male","Yes","No","No",87.3826,27.94,"No",-0.130150946146736,1,0,0,1,8,0,"No","No","Never","Yes","Vocational","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","No","No",725,0,57,36.5,8.55,"145"
"560",51.42,"Yes",2,"Male","Yes","Yes","Yes",104.051,28.68,"No",0.567583511176976,3,8,0,1,9,3,"No","No","Ex","Yes","Vocational","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","No","No",726,1,62,36,8.8,"145"
"561",52.33,"No",3,"Male","Yes","Yes","No",112.977,23.12,"No",-0.105977032978384,2,0,0,2,6,0,"No","Yes","Never","Yes","Vocational","No","(2000-3000]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","Yes","No",727,0,54,36.3,8.55,"152"
"562",55.67,"No",8,"Male","Yes","No","No",93.3784,27.15,"No",0.00466486205617088,3,0,0,1,8,0,"No","No","Never","Yes","UpToPrimary","No","(2000-3000]","No","No","No","No","No","Yes","No","No","No","No","No","Yes","No",728,0,42,36.2,8.95,"164"
"563",60,"Yes",5,"Male","Yes","Yes","Yes",87.7851,26.21,"No",-0.0454449360441956,0,0,0,0,7,0,"No","No","Never","No","Bachelor","No","(3000-inf]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","No","No",729,0,62,36.5,8.95,"171"
"564",56.33,"No",2,"Male","No","No","No",89.7231,24.81,"No",0.200820584618237,0,0,0,1,9,0,"No","No","Never","No","Vocational","Past","(1000-2000]","Yes","No","No","No","No","No","No","No","No","No","No","No","No",730,0,49,36,8.833,"173"
"565",50.17,"No",18,"Male","Yes","Yes","Yes",112.575,31.19,"No",0.313570649900697,1,0,0,1,9,0,"No","No","Ex","Yes","Vocational","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",731,0,46,36.2,8.817,"178"
"566",59.75,"Yes",5,"Male","No","Yes","Yes",88.9786,25.28,"No",0.209284569574443,1,0,0,0,8,0,"No","No","Never","No","Baccalaureat","No","[0-1000]","No","No","No","No","No","No","No","No","No","No","No","No","No",732,0,57,36.1,9.033,"179"
"567",58.08,"No",2.5,"Male","Yes","Yes","No",104.553,28.22,"No",0.25262551269202,2,0,0,1,8,0,"No","No","Never","No","UpToPrimary","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","No","Yes",733,0,57,36,8.933,"179"
"568",50.08,"Yes",1.5,"Male","No","No","Yes",99.2751,19.65,"Yes",0.123877150936954,0,0,0,1,7,0,"No","No","Active","Yes","Vocational","No","(1000-2000]","Yes","No","No","Yes","No","No","No","No","No","Yes","No","No","No",734,0,55,36.1,9.55,"180"
"569",54.83,"Yes",8,"Male","No","No","Yes",94.8729,22.53,"Yes",-0.228861731007192,0,0,0,1,8,0,"No","Yes","Ex","No","Bachelor","Past","(1000-2000]","No","No","Yes","No","No","Yes","No","No","No","No","No","No","No",735,0,65,36.4,8.983,"185"
"570",59.58,"No",1.665,"Male","Yes","No","No",94.0373,20.86,"Yes",0.14980372706282,0,0,0,3,6,0,"No","No","Ex","No","Vocational","No","(1000-2000]","No","No","No","No","No","Yes","No","No","No","No","No","No","No",736,0,42,36.1,9.1,"185"
"571",53.25,"Yes",0,"Male","Yes","No","Yes",85.3708,23.45,"Yes",0.182992792199879,0,14,0,1.497,6,3,"No","Yes","Never","No","PhD","No","(2000-3000]","No","No","Yes","No","No","Yes","No","No","No","Yes","No","No","Yes",737,1,55,36,9.583,"186"
"572",52.67,"Yes",0,"Male","No","No","No",113.46,25.09,"No",0.224794666607109,1,0,0,3,7,8,"No","No","Never","No","Vocational","Past","[0-1000]","Yes","No","No","No","No","Yes","No","No","No","Yes","No","Yes","No",738,0,66,36.9,9.167,"192"
"573",56.42,"No",3.999,"Male","Yes","No","Yes",84.5731,21.82,"No",0.611617666629573,0,0,0,1,9,3,"No","Yes","Never","No","Bachelor","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","Yes","Yes",739,0,72,36.1,9.033,"193"
"574",57.17,"No",3,"Male","Yes","No","No",85.175,28.72,"No",0.133103994936749,1,0,0,1,8,0,"No","No","Never","Yes","Vocational","No","(2000-3000]","No","No","Yes","Yes","No","No","No","No","No","No","No","No","No",740,0,72,36.2,9.483,"194"
"575",51.08,"No",1,"Male","No","Yes","No",98.9298,28.68,"No",0.252596921563168,4,0,0,0,7,0,"No","No","Ex","Yes","Baccalaureat","Past","[0-1000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",741,0,68,36,9.533,"200"
"576",54.42,"No",0,"Male","No","No","Yes",74.1746,22.2,"Yes",0.109386888902143,1,0,0,1,6,0,"No","No","Never","No","Vocational","Past","[0-1000]","No","No","Yes","No","No","Yes","No","No","No","No","No","Yes","No",742,0,54,36.1,9.117,"201"
"577",56.5,"No",10,"Male","No","No","Yes",88.9204,22.83,"No",0.393553158423924,0,0,0,1.211,8,0,"No","Yes","Never","No","PhD","No","(1000-2000]","Yes","No","No","No","Yes","No","No","No","No","Yes","No","Yes","Yes",743,0,60,36.2,9.2,"201"
"578",59.92,"No",1.5,"Male","Yes","No","Yes",75.2626,24.87,"Yes",0.278638723427519,1,0,0,0,8,0,"No","No","Never","No","Vocational","No","(1000-2000]","No","No","No","No","No","Yes","No","No","No","No","No","No","No",744,0,55,36.8,9.483,"201"
"579",57.92,"No",4,"Male","Yes","No","No",107.206,25.35,"No",0.311933358674306,1,0,0,1,8,0,"No","No","Never","No","Baccalaureat","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","No",745,0,66,36.4,8.55,"206"
"580",54.83,"No",4.5,"Male","No","No","Yes",84.8517,24.89,"No",0.439569044574547,0,3,0,1,6,0,"No","No","Active","Yes","Baccalaureat","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","No",746,0,40,36.3,9.217,"207"
"581",51.5,"No",0.167,"Male","Yes","Yes","Yes",117.741,24.15,"No",0.365555235694746,0,0,0,1,6,3,"No","No","Never","Yes","Vocational","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",747,2,69,36.2,9.167,"207"
"582",55.17,"Yes",2,"Male","No","No","Yes",84.6975,23.4,"No",0.550338222216679,0,0,0,0,8,0,"No","Yes","Never","Yes","PhD","No","[0-1000]","Yes","Yes","Yes","No","No","No","Yes","No","Yes","No","No","No","No",748,0,54,36.1,9.417,"207"
"583",59.08,"No",3,"Male","Yes","No","Yes",75.7815,25.68,"Yes",0.377711854584548,1,0,0,1,8.5,0,"No","No","Ex","Yes","Vocational","Past","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",749,0,51,36.7,9.55,"208"
"584",53.83,"No",9,"Male","Yes","No","Yes",111.896,23.8,"No",0.446600409418529,0,3,0,3,5.5,3,"No","Yes","Ex","Yes","PhD","No","(3000-inf]","No","No","No","Yes","No","No","Yes","No","No","No","Yes","No","No",750,1,48,36.4,9.8,"208"
"585",50.5,"Yes",6,"Male","Yes","Yes","Yes",93.8728,25.14,"Yes",0.281126951553019,1,0,0,0,5,0,"No","No","Never","Yes","Vocational","Current","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",751,0,65,36.1,8.783,"208"
"586",53.33,"No",0.666,"Male","Yes","Yes","No",85.2123,21.77,"Yes",0.496139532606787,0,0,0,0,8,0,"No","No","Never","Yes","Vocational","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","Yes",752,0,59,36.2,8.8,"214"
"587",59.08,"Yes",0,"Male","Yes","No","Yes",91.5415,20.59,"Yes",0.489442491930629,0,0,0,1,10,3,"No","No","Active","No","PhD","Past","(2000-3000]","Yes","Yes","No","Yes","No","Yes","Yes","No","Yes","No","No","Yes","No",753,0,100,36.4,9.55,"215"
"588",51.17,"No",2,"Male","No","Yes","Yes",108.191,25.01,"Yes",0.329741649063117,0,0,0,3,7.5,0,"No","No","Ex","Yes","Vocational","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",754,0,67,36.1,9.033,"215"
"589",50.33,"Yes",3,"Male","No","No","No",103.794,30.12,"Yes",0.652633531578002,2,0,0,1,8,0,"No","No","Never","No","Baccalaureat","Past","[0-1000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",755,0,48,36.2,8.55,"220"
"590",52.83,"Yes",0,"Male","No","No","Yes",103.198,19.71,"No",0.481954470538079,0,0,0,0,5,3,"No","No","Active","No","Vocational","Current","[0-1000]","No","No","No","No","Yes","No","No","No","No","No","No","No","No",756,1,91,37.4,8.8,"220"
"591",57.67,"Yes",6,"Male","No","No","No",100.352,26.42,"Yes",0.339505731509887,0,0,0,1,8,0,"No","No","Ex","Yes","Vocational","No","(1000-2000]","No","No","No","No","No","Yes","No","No","No","No","Yes","No","No",757,0,55,36,9.05,"221"
"592",55,"No",10,"Male","Yes","Yes","No",86.2961,22.22,"Yes",0.44129761889278,1,0,0,0,7,0,"No","No","Never","No","Bachelor","Past","(3000-inf]","No","No","No","No","No","Yes","No","No","Yes","No","Yes","No","Yes",758,0,62,36.1,9.3,"221"
"593",59.92,"No",7.5,"Male","Yes","No","No",90.5619,27.39,"Yes",0.313235796181678,1,0,0,0,8,0,"No","No","Ex","No","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",759,0,57,36.1,9.8,"221"
"594",52,"No",6,"Male","No","No","Yes",109.634,26.02,"Yes",0.2858084497584,1,0,0,0,6,0,"No","No","Never","Yes","UpToPrimary","No","(1000-2000]","Yes","No","No","No","No","Yes","No","No","No","No","No","No","No",760,0,57,36,9.55,"222"
"595",59.92,"No",3,"Male","No","Yes","No",75.3283,23.05,"No",0.3579891372039,1,0,0,0,7,0,"No","No","Ex","Yes","PhD","No","(1000-2000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",761,0,48,36.5,8.8,"227"
"596",53,"No",1,"Male","Yes","Yes","Yes",100.58,24.25,"Yes",0.295318927948443,3,0,3,1,7,3,"No","No","Ex","No","Bachelor","No","(2000-3000]","No","No","No","No","No","No","No","No","Yes","No","Yes","Yes","Yes",762,0,68,36.1,8.6,"227"
"597",50,"Yes",0.25,"Male","Yes","No","Yes",87.401,21.97,"Yes",0.166515874724024,0,0,0,0,7,0,"No","No","Active","Yes","Vocational","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",763,0,61,36.1,9.2,"241"
"598",51,"Yes",4,"Male","No","No","Yes",86.5593,25.15,"No",0.210665994427438,0,0,0,1,6,0,"No","No","Ex","Yes","Vocational","No","(1000-2000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","Yes",764,1,63,36,9.3,"248"
"599",54.92,"No",0.334,"Male","No","No","No",82.3703,26.67,"Yes",0.25391745101834,1,0,0,1,6,0,"No","Yes","Never","Yes","UpToPrimary","Current","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",765,1,57,36,9.817,"248"
"600",54.67,"No",2.5,"Male","Yes","Yes","No",90.2109,22.3,"No",0.254821290016584,0,0,0,2,7.5,0,"No","Yes","Never","Yes","Vocational","Past","(2000-3000]","Yes","Yes","Yes","No","No","No","No","No","No","Yes","No","Yes","Yes",766,0,48,36,9.083,"248"
"601",52.67,"No",1,"Male","No","Yes","Yes",96.1049,24.11,"Yes",0.183868274511187,0,0,0,1,7,0,"No","No","Ex","Yes","Baccalaureat","No","(2000-3000]","No","No","No","No","No","No","Yes","No","No","Yes","No","No","No",767,0,50,36.4,8.8,"255"
"602",53.67,"No",0,"Male","Yes","Yes","No",91.0622,28.39,"No",0.13852403231627,3,0,0,0,7,0,"No","No","Active","Yes","Vocational","Current","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",768,0,57,36.1,9.05,"255"
"603",50.17,"No",4.5,"Male","Yes","Yes","No",107.397,23.98,"Yes",0.157489080085418,0,0,0,1,7.5,0,"No","No","Never","Yes","Vocational","No","(1000-2000]","No","No","No","No","No","No","Yes","No","No","Yes","No","No","No",769,0,51,36,9.3,"255"
"604",55.83,"No",1,"Male","No","Yes","Yes",96.4962,23.99,"No",0.349014123262928,0,0,0,0,7.5,0,"No","No","Never","Yes","Baccalaureat","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",770,0,54,36.3,9.55,"255"
"605",50.83,"Yes",3,"Male","Yes","No","Yes",73.8157,26.86,"No",0.249369823267619,1,0,0,0,8,0,"No","Yes","Ex","Yes","Vocational","No","(2000-3000]","Yes","No","Yes","No","Yes","No","No","No","No","No","No","No","No",771,1,42,36.3,8.817,"255"
"606",52.25,"Yes",0,"Male","No","No","Yes",75.8388,28.08,"No",-0.0651705316048101,0,0,0,1,8,0,"No","No","Active","No","Vocational","Current","(1000-2000]","No","No","No","No","Yes","Yes","No","No","No","No","No","No","No",772,0,84,36.5,8.567,"256"
"607",59.25,"Yes",6,"Male","No","Yes","No",116.42,30.86,"No",0.41428995761438,3,0,0,1,8,0,"No","No","Ex","Yes","Vocational","No","(1000-2000]","No","No","Yes","No","No","Yes","No","No","No","No","No","Yes","No",773,0,67,36.6,9.05,"256"
"608",51.42,"Yes",0,"Male","Yes","Yes","Yes",85.2731,22.83,"Yes",0.423657966940711,0,0,0,3,7,0,"No","No","Ex","Yes","Baccalaureat","No","(2000-3000]","No","No","Yes","Yes","No","Yes","No","No","No","Yes","Yes","No","No",774,1,61,36.3,9.3,"256"
"609",52.67,"No",8,"Male","Yes","Yes","No",93.3943,27.15,"Yes",0.256062850147458,3,0,0,3,6.5,3,"No","No","Active","No","Vocational","No","(3000-inf]","No","No","Yes","Yes","No","No","No","No","No","No","No","No","Yes",775,0,66,36.3,8.55,"264"
"610",52.33,"No",0,"Male","Yes","Yes","Yes",77.2961,25.76,"No",0.19353514933689,4,0,0,1,9,0,"No","No","Active","No","Vocational","Past","(1000-2000]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","No","No",777,0,69,36.3,9.317,"270"
"611",53.5,"Yes",6,"Male","No","No","Yes",98.4228,29.66,"Yes",0.089731428380933,2,0,0,0,6,0,"No","No","Ex","Yes","Vocational","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",778,0,54,36.2,9.533,"271"
"612",55.42,"No",0.25,"Male","Yes","Yes","Yes",105.115,26.81,"No",0.225019477117684,1,0,0,3,7,0,"No","No","Ex","Yes","Baccalaureat","No","(3000-inf]","Yes","No","No","Yes","No","Yes","No","No","No","Yes","No","Yes","No",779,0,54,36.5,9.05,"276"
"613",59.58,"No",2,"Male","Yes","No","Yes",96.0623,22.09,"No",0.0901181276909671,0,0,0,2,6,0,"No","No","Never","No","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","Yes","No","No","Yes","No","Yes","No","No",780,0,42,36,8.55,"278"
"614",54.33,"Yes",2,"Male","Yes","Yes","Yes",43.906,23.95,"Yes",0.596170363746816,1,0,0,1,6.5,3,"No","No","Never","Yes","Vocational","Current","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",781,0,72,36.6,9.05,"283"
"615",55.17,"Yes",6,"Male","Yes","Yes","No",102.418,24.3,"Yes",-0.169670737951285,1,0,0,1,8,3,"Yes","No","Active","No","PhD","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","Yes","No","No",782,1,70,36,9.3,"283"
"616",57.5,"No",7,"Male","Yes","Yes","No",92.7962,27.45,"No",0.618814247089004,3,0,0,0,7,0,"No","No","Ex","No","Vocational","Past","(3000-inf]","No","No","Yes","Yes","No","No","No","No","No","No","No","No","No",783,0,67,36.7,9.8,"283"
"617",51.08,"No",4.5,"Male","Yes","Yes","Yes",79.4043,24.48,"No",0.475048246096797,0,0,0,0,7,0,"No","No","Never","Yes","Baccalaureat","Past","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",784,0,47,36,9.55,"285"
"618",56.75,"No",4,"Male","Yes","Yes","No",85.8386,28.73,"Yes",0.14103361383855,3,0,0,0,7,0,"No","No","Active","Yes","Vocational","No","(2000-3000]","Yes","Yes","Yes","Yes","No","No","No","No","No","No","No","Yes","No",785,0,72,36.3,9.167,"290"
"619",56.75,"No",4,"Male","Yes","Yes","No",90.7558,25.25,"No",0.32836112321568,2,0,0,1,8.5,0,"No","No","Ex","Yes","Vocational","Past","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","No",786,0,57,36.1,8.8,"291"
"620",54.75,"Yes",0,"Male","No","Yes","No",106.366,25.18,"Yes",0.2792396608602,1,0,0,1,8,0,"No","No","Never","No","Vocational","No","[0-1000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",787,1,48,36.2,9.7,"291"
"621",58.42,"No",4.5,"Male","Yes","Yes","Yes",83.0795,24.74,"No",-0.113389287402552,2,0,0,1,6.5,0,"No","No","Ex","No","Bachelor","Past","(3000-inf]","No","No","No","No","No","No","No","No","No","Yes","No","Yes","Yes",788,0,58,36,9.55,"297"
"622",58.33,"No",0.333,"Male","Yes","Yes","Yes",97.1631,28.57,"No",0.244348138614612,2,0,0,0,8,0,"No","Yes","Never","No","PhD","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",789,0,54,36.4,8.75,"299"
"623",52.58,"No",0,"Male","Yes","Yes","No",96.816,30.4,"No",0.260489318364433,2,3,3,1,5.5,3,"No","No","Never","Yes","Vocational","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",790,2,57,36.6,8.783,"305"
"624",55.42,"No",3,"Male","Yes","Yes","No",102.412,26.88,"No",0.214971835813128,1,0,0,0,8,3,"No","No","Active","No","Bachelor","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","No","No",791,1,43,36,9.25,"305"
"625",53.83,"Yes",4,"Male","No","No","No",95.9905,24.5,"No",-0.161645976127638,3,0,0,1,5.5,0,"No","Yes","Active","Yes","Vocational","No","[0-1000]","No","No","No","No","No","No","No","No","No","No","No","No","No",792,0,64,36.2,8.783,"306"
"626",52.92,"Yes",3,"Male","No","No","Yes",99.8083,27.1,"Yes",-0.126264018326089,0,0,0,0,7,0,"No","No","Never","No","Baccalaureat","No","[0-1000]","Yes","No","No","No","No","No","No","No","No","No","No","No","No",794,0,68,36.5,8.8,"311"
"627",59.75,"Yes",0,"Male","No","No","No",61.3759,30.64,"No",0.0762602693984894,2,0,0,3,6.5,0,"No","No","Active","No","UpToPrimary","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","No",795,0,56,36.7,9.317,"311"
"628",51.67,"Yes",2,"Male","No","No","Yes",103.641,28.66,"No",0.415522662967407,3,0,0,2,8,3,"No","No","Active","Yes","Baccalaureat","Current","(2000-3000]","Yes","No","No","No","No","No","No","No","No","No","No","No","No",796,0,62,36.6,8.75,"311"
"629",57.67,"Yes",10,"Male","Yes","No","Yes",89.2206,26.87,"No",0.239278886093862,1,0,0,2,5,3,"No","No","Never","No","Vocational","No","(3000-inf]","No","No","No","No","No","Yes","No","No","No","No","No","Yes","No",797,0,54,36.1,9.3,"313"
"630",52.25,"Yes",3,"Male","No","No","No",90.1653,27.08,"Yes",0.0382850190757926,1,0,0,0,8,0,"No","No","Ex","No","Vocational","Past","[0-1000]","No","No","No","No","No","Yes","No","No","No","No","Yes","No","No",798,0,52,36,9.6,"318"
"631",50.42,"No",6,"Male","No","No","Yes",100.436,25.39,"No",0.377623185340869,0,0,0,0,8.5,0,"No","No","Never","No","PhD","Past","(2000-3000]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","Yes","No",799,0,51,36.1,9.85,"318"
"632",50.58,"No",10,"Male","No","Yes","No",89.7119,19.94,"Yes",0.352749852590349,1,3,0,1,5,3,"No","Yes","Active","Yes","Vocational","Past","(1000-2000]","Yes","No","No","Yes","No","No","Yes","No","Yes","No","Yes","Yes","No",800,2,89,36.5,9.05,"319"
"633",66.67,"No",1,"Female","Yes","No","Yes",99.4296,21.21,"No",0.302631575162782,0,0,0,3,6,3,"No","Yes","Never","No","Baccalaureat","Past","(3000-inf]","Yes","No","No","No","No","Yes","No","No","No","No","No","Yes","Yes",801,0,66,36.5,8.55,"46"
"634",66.83,"No",1,"Female","Yes","No","No",116.841,28.62,"Yes",0.0807828255464261,2,0,0,1,8,0,"No","No","Never","No","UpToPrimary","No","(2000-3000]","No","No","No","No","No","No","No","No","No","Yes","No","No","No",802,0,56,36.3,8.917,"46"
"635",68.08,"Yes",3.5,"Female","No","No","No",75.9857,30.99,"Yes",-0.298895866151295,1,3,0,1.573,6,0,"No","No","Never","No","Baccalaureat","No","[0-1000]","No","No","No","No","No","Yes","No","No","No","Yes","No","Yes","No",804,1,62,36.5,8.667,"47"
"636",66.67,"No",1.5,"Female","No","Yes","No",104.186,20.56,"No",0.394071947142714,2,0,0,3,6,0,"No","Yes","Never","No","Vocational","No","(1000-2000]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","No","Yes",805,0,61,36.8,8.967,"47"
"637",67.58,"No",6,"Female","Yes","No","No",102.622,23.01,"Yes",-0.370479930448399,1,0,0,3,6,0,"No","Yes","Never","No","Baccalaureat","Past","(2000-3000]","No","No","Yes","No","Yes","No","No","No","No","No","No","No","No",806,0,86,36.5,9.167,"47"
"638",65.5,"No",2,"Female","No","No","No",83.3162,31.64,"Yes",-0.128519090620043,1,14,0,3,5,0,"No","No","Never","Yes","UpToPrimary","Current","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","No","No",808,0,56,36,9.233,"47"
"639",67.17,"No",3,"Female","Yes","No","Yes",93.2441,25.39,"Yes",0.0570117207716812,1,0,0,2,9,0,"No","No","Never","No","UpToPrimary","No","(3000-inf]","No","No","No","No","No","Yes","No","No","No","No","No","No","No",809,0,79,37,9.217,"102"
"640",60.17,"No",0.5,"Female","Yes","Yes","No",84.6172,28.25,"No",0.0508623156327715,1,0,0,0,8,0,"No","No","Never","Yes","Bachelor","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","No","Yes","Yes",810,0,46,36.3,9.55,"102"
"641",63.25,"No",0.25,"Female","No","Yes","No",82.9701,29.68,"Yes",0.085803033649345,2,0,0,1,7,0,"No","No","Never","No","PhD","No","(2000-3000]","No","No","No","Yes","No","No","No","No","No","No","No","Yes","No",811,0,64,36.3,9.233,"102"
"642",68.08,"No",1,"Female","No","No","No",88.497,21.21,"Yes",-0.111513240951635,0,0,3,3,6,0,"No","Yes","Never","No","Vocational","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","Yes","Yes","No",812,0,65,37,8.817,"102"
"643",66.75,"Yes",3,"Female","No","Yes","No",102.913,21.33,"No",0.0255541044723881,1,0,3,3,8,0,"No","No","Never","No","UpToPrimary","No","(1000-2000]","Yes","No","No","Yes","No","No","No","No","No","No","No","No","Yes",813,1,66,36.1,9.083,"102"
"644",65.25,"No",3,"Female","Yes","No","Yes",85.5162,22.36,"No",-0.195673425638957,1,0,3,2,7.5,0,"No","Yes","Never","No","Baccalaureat","No","(3000-inf]","Yes","Yes","No","Yes","No","Yes","No","No","No","Yes","No","No","No",814,2,60,36.4,8.883,"103"
"645",67.17,"Yes",7,"Female","No","No","No",102.463,24.65,"No",-0.0151773023214498,2,0,0,0,8,0,"No","No","Never","No","Vocational","No","[0-1000]","No","No","Yes","Yes","No","No","No","No","No","No","No","No","No",815,0,58,37.7,9.433,"103"
"646",66.42,"No",2,"Female","Yes","No","No",85.7192,22.1,"Yes",0.562924288369007,1,0,0,1,8,0,"No","No","Never","No","Vocational","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","No","No",816,0,66,37,9.65,"103"
"647",66.42,"No",8,"Female","Yes","No","No",112.619,19.04,"Yes",-0.0596112886687526,1,0,0,3,6,0,"No","No","Active","No","Vocational","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","No","No",817,0,79,36.5,8.833,"103"
"648",69.5,"Yes",7,"Female","No","No","Yes",82.2758,22.86,"Yes",-0.213800706276604,1,0,0,1,7,0,"No","No","Never","No","Baccalaureat","No","(1000-2000]","Yes","No","No","Yes","No","No","No","No","No","No","No","No","No",818,0,61,36.3,9.05,"103"
"649",64,"No",1,"Female","Yes","No","No",91.9136,23.79,"No",0.305790620613521,1,0,0,1,9,3,"No","No","Never","No","UpToPrimary","No","(3000-inf]","Yes","No","No","Yes","No","Yes","No","No","No","No","No","Yes","No",819,1,54,36,9.433,"103"
"650",65.67,"No",1,"Female","No","No","No",84.4635,21.63,"No",-0.0717601782483476,1,0,0,1,8,0,"No","No","Ex","No","Baccalaureat","No","(2000-3000]","No","No","No","No","Yes","No","No","No","Yes","No","Yes","Yes","No",820,0,64,36.1,9.333,"103"
"651",60.67,"No",2,"Female","No","No","Yes",91.8278,20.06,"No",0.0385920661730008,1,0,0,1,8,0,"No","No","Never","No","UpToPrimary","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",821,0,52,36.4,9.017,"103"
"652",61,"No",4,"Female","Yes","Yes","Yes",85.3228,23.24,"No",0.0520290000040101,2,0,0,1,8,3,"No","No","Never","No","PhD","No","(2000-3000]","No","No","Yes","Yes","No","No","No","No","No","No","No","Yes","Yes",822,0,79,36.5,9.6,"108"
"653",63.83,"No",1.25,"Female","No","No","No",97.4944,24.14,"Yes",0.448097046804047,1,0,3,1,8,0,"No","No","Never","No","Vocational","No","[0-1000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","Yes",823,1,62,36.3,9.35,"108"
"654",64.67,"No",5,"Female","No","No","No",112.047,23.24,"No",-0.0253058652647702,2,0,3,3,7,3,"No","Yes","Ex","No","Bachelor","No","(1000-2000]","Yes","No","Yes","Yes","No","Yes","No","No","No","Yes","No","No","No",824,1,53,36.2,8.533,"109"
"655",62.17,"No",0,"Female","Yes","Yes","No",67.2284,18.59,"No",0.25915449279966,0,0,0,1,9,0,"No","Yes","Never","No","Vocational","No","(3000-inf]","No","No","No","No","Yes","Yes","No","No","No","Yes","No","No","No",825,0,64,36.8,9.017,"110"
"656",64.5,"No",1,"Female","Yes","No","No",83.0481,24.74,"Yes",0.320754556475646,2,0,0,1,7,0,"No","No","Never","No","Vocational","No","(2000-3000]","No","No","No","No","No","Yes","No","No","No","No","No","Yes","Yes",826,0,67,36.3,9.333,"110"
"657",61.83,"No",0,"Female","Yes","No","No",92.2884,20.17,"Yes",0.168112231978379,1,0,0,1,7.84613333333333,0,"No","No","Never","No","UpToPrimary","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",827,0,76,36.4,9.5,"136"
"658",60.5,"Yes",0,"Female","No","No","Yes",50.9851,21.61,"Yes",0.382597481131968,2,14,0,1,7.5,0,"No","Yes","Ex","No","Baccalaureat","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",828,0,62,36.2,9.833,"157"
"659",66.17,"No",1,"Female","Yes","No","No",114.174,27.29,"No",-0.236448258186645,1,0,0,1,9,0,"No","Yes","Never","No","Vocational","No","(2000-3000]","Yes","No","No","No","No","Yes","No","No","No","No","No","No","No",829,0,55,36.2,9.583,"157"
"660",61.17,"No",4,"Female","Yes","No","Yes",88.747,22.2,"Yes",-0.0853989859191367,2,0,0,2,8.5,0,"No","Yes","Never","No","Bachelor","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","Yes",830,1,61,36,9.217,"159"
"661",62.25,"No",2,"Female","Yes","No","No",73.402,24.14,"No",-0.168651342944738,2,0,0,1,8,0,"No","No","Never","No","Baccalaureat","No","(3000-inf]","No","No","No","No","No","No","No","No","Yes","No","Yes","No","No",831,0,57,36.9,9.3,"171"
"662",61.92,"No",7.5,"Female","Yes","No","No",76.52,24.38,"No",0.247702910742465,1,0,0,0,8,0,"No","No","Never","No","Bachelor","No","(3000-inf]","No","No","Yes","No","No","Yes","Yes","No","No","No","No","Yes","No",832,0,52,36,9.083,"171"
"663",62.75,"Yes",0,"Female","Yes","No","No",92.4217,30.02,"Yes",0.477746138974093,2,0,0,0,8,0,"No","No","Never","No","Vocational","No","[0-1000]","No","No","No","Yes","No","Yes","No","No","No","No","No","No","No",833,0,62,36.6,9.417,"171"
"664",64.17,"No",0,"Female","No","No","Yes",93.6383,30.73,"Yes",-0.103288126561478,3,3,0,2,8,0,"No","No","Never","No","PhD","No","[0-1000]","Yes","No","No","Yes","No","No","No","No","No","No","No","No","No",834,0,54,36.3,9.267,"172"
"665",64.42,"No",2,"Female","Yes","No","No",119.323,23.23,"Yes",0.301453904415942,2,0,0,1,8.5,0,"No","No","Ex","No","Vocational","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","No",835,0,80,36.4,9.117,"179"
"666",62.83,"No",4,"Female","No","No","No",77.5941,23.66,"Yes",0.0593562888968239,2,0,0,1,7,0,"No","Yes","Never","No","Baccalaureat","Past","(1000-2000]","Yes","Yes","Yes","Yes","No","Yes","No","No","No","No","No","No","No",836,0,49,36.6,8.8,"185"
"667",67.5,"Yes",2,"Female","No","No","Yes",105.198,21.63,"No",0.0453024936810239,2,0,0,2,6,3,"No","No","Never","No","Bachelor","No","[0-1000]","Yes","Yes","Yes","No","No","Yes","No","No","No","No","No","No","No",837,0,54,36.4,9.267,"185"
"668",66.33,"No",0.5,"Female","Yes","No","No",107.144,22.86,"Yes",-0.201148743140159,0,0,0,1,8,0,"No","No","Never","No","Vocational","No","(3000-inf]","Yes","No","No","Yes","No","No","No","No","No","No","No","No","No",838,0,61,36.2,8.75,"185"
"669",63.25,"No",0.666,"Female","Yes","No","No",74.9987,23.83,"Yes",-0.187163096923384,1,0,0,1,9,3,"No","No","Never","No","Vocational","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",839,0,57,36.6,9.533,"185"
"670",68.08,"No",3.75,"Female","No","No","No",80.436,30.75,"Yes",0.354275507617206,3,0,0,1,8,0,"No","Yes","Never","No","Baccalaureat","No","(1000-2000]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","No","Yes",840,0,70,36.6,8.55,"186"
"671",64.17,"No",0,"Female","No","No","Yes",87.0103,25.47,"No",0.122197126757014,2,0,0,1,6,3,"No","Yes","Ex","No","Vocational","No","(1000-2000]","Yes","No","Yes","Yes","No","No","No","No","No","Yes","No","Yes","No",842,1,64,36.4,9.55,"186"
"672",63.17,"No",8,"Female","No","No","No",99.2138,21.56,"No",0.126674429111759,0,0,0,1,7,0,"No","No","Ex","No","Baccalaureat","No","(1000-2000]","No","Yes","No","Yes","No","No","No","No","No","No","No","No","No",843,1,62,36.6,9.8,"186"
"673",63.17,"No",9,"Female","No","No","No",93.9457,19.11,"No",0.413132928685471,1,0,3,3,7.5,3,"No","No","Never","No","UpToPrimary","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","No",844,0,37,36,9.55,"187"
"674",65.67,"Yes",8,"Female","No","No","No",97.859,27.99,"No",0.362912545500339,1,0,0,1,7,0,"No","No","Never","No","UpToPrimary","No","(2000-3000]","Yes","No","No","No","No","No","No","No","No","No","No","No","No",845,0,59,36,8.8,"192"
"675",63.08,"No",4,"Female","Yes","No","Yes",94.9255,21.51,"Yes",0.479011960718083,1,0,0,1,8,0,"No","Yes","Never","No","Vocational","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","Yes",846,0,47,36.3,9.05,"192"
"676",62.92,"No",6,"Female","No","No","No",103.295,29.17,"Yes",0.554657204244698,3,0,3,0,8,0,"No","No","Never","No","Vocational","Past","(1000-2000]","Yes","Yes","No","No","No","Yes","No","No","No","No","Yes","No","No",847,0,62,36.7,9.3,"192"
"677",68.92,"Yes",0,"Female","No","No","No",84.6294,28.08,"Yes",0.349902751816464,3,0,0,3,6.5,3,"No","No","Ex","No","Vocational","No","(1000-2000]","No","No","No","No","No","Yes","No","No","No","No","No","Yes","No",848,2,57,36,9.8,"192"
"678",63.5,"Yes",3,"Female","No","No","No",80.6118,28.04,"Yes",0.326957491299447,3,0,0,1,7,0,"No","No","Ex","No","Baccalaureat","No","(1000-2000]","No","No","Yes","Yes","No","Yes","No","No","No","Yes","No","Yes","Yes",849,0,56,36.2,8.883,"192"
"679",63.83,"Yes",3,"Female","No","No","Yes",86.8938,23.95,"Yes",0.299891608427892,0,0,0,0,8,3,"No","No","Never","No","Baccalaureat","No","(1000-2000]","Yes","No","Yes","No","No","Yes","No","No","No","No","No","No","No",850,0,62,36.3,9.05,"193"
"680",63.58,"No",6,"Female","Yes","Yes","No",96.924,26.44,"Yes",0.238138096573931,1,0,0,1,6,0,"No","Yes","Ex","No","UpToPrimary","No","(2000-3000]","No","Yes","No","No","No","No","No","No","Yes","No","Yes","No","No",852,0,57,37,9.55,"193"
"681",69.25,"Yes",14,"Female","Yes","No","No",92.1090465000002,29.55,"No",-0.0933780396688158,1,3,0,1,8,0,"No","Yes","Never","No","Baccalaureat","No","(2000-3000]","No","No","No","Yes","No","Yes","No","No","No","No","No","No","No",853,1,65,36.1,9.8,"193"
"682",61.58,"No",2.25,"Female","Yes","No","No",99.4079,24.91,"No",0.369274155884209,1,0,0,1,7.72778333333333,3,"No","Yes","Never","No","UpToPrimary","No","(2000-3000]","No","No","Yes","Yes","No","No","No","No","No","No","No","No","Yes",855,0,47,36.1,8.583,"194"
"683",62.08,"No",4.5,"Female","No","No","No",105.094,22.31,"Yes",0.308065449538584,1,0,0,1,8,0,"No","No","Never","No","UpToPrimary","No","[0-1000]","No","No","No","No","No","Yes","No","No","No","No","No","No","No",856,0,55,36,8.55,"199"
"684",66.17,"Yes",4,"Female","No","Yes","Yes",88.6081,27.33,"No",0.306990462648383,1,3,0,1,6,3,"No","Yes","Never","No","Bachelor","No","(1000-2000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",860,5.66666666666667,55,36.2,8.883,"199"
"685",60.5,"No",3,"Female","No","No","Yes",107.974,19.57,"No",0.347060198624138,1,0,0,2,6,0,"No","No","Never","No","Vocational","No","(1000-2000]","Yes","No","Yes","No","No","No","Yes","No","No","No","No","Yes","No",861,0,65,36.2,9.1,"199"
"686",62.17,"Yes",3,"Female","No","No","No",103.991,20.32,"No",0.504604039238707,1,0,3,2,9.5,3,"No","No","Never","No","Vocational","No","(1000-2000]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","No","Yes",862,0,49,36.6,9.75,"199"
"687",61.33,"Yes",1.25,"Female","No","No","No",83.8143,31.16,"Yes",0.375088922224381,3,0,0,1,8,0,"No","No","Never","No","UpToPrimary","No","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","No",864,0,66,36.9,8.867,"200"
"688",69.75,"Yes",1.75,"Female","No","No","Yes",80.1346,23.24,"Yes",0.155229194321383,1,0,0,1,8,0,"No","No","Never","No","Baccalaureat","No","(1000-2000]","No","No","Yes","No","Yes","Yes","No","No","No","No","No","No","No",865,0,60,36.1,9.083,"200"
"689",68.75,"No",1.334,"Female","Yes","No","Yes",81.4182,29.47,"No",0.15675303617216,2,3,0,0,8,3,"No","No","Active","No","Vocational","No","(3000-inf]","No","No","No","No","Yes","No","Yes","No","Yes","Yes","Yes","Yes","No",867,0,61,36.5,9.4,"200"
"690",65.25,"No",4,"Female","No","No","No",89.658,21.6,"Yes",0.26486354062439,1,0,0,1,7,0,"No","Yes","Never","No","Vocational","No","(2000-3000]","No","No","No","No","Yes","No","No","No","No","No","No","Yes","No",868,0,59,37,9.683,"207"
"691",63.67,"No",3,"Female","No","No","No",94.5827,24.16,"Yes",0.327511881907511,1,0,0,1,7.5,0,"No","No","Ex","No","Baccalaureat","Current","(1000-2000]","Yes","Yes","Yes","Yes","No","No","No","No","No","No","No","No","Yes",870,0,70,36.3,9.317,"208"
"692",62.92,"No",1,"Female","Yes","No","Yes",104.824,21.09,"No",0.206871593646704,0,0,0,1,8,0,"No","Yes","Never","No","Vocational","No","(3000-inf]","Yes","No","No","No","No","No","No","No","No","No","No","No","Yes",871,1,55,36.8,8.917,"208"
"693",62,"No",4,"Female","Yes","No","Yes",73.2233,29.33,"Yes",0.688428358587481,3,0,0,2,8.5,0,"No","Yes","Ex","No","Vocational","Past","(1000-2000]","No","No","Yes","No","No","Yes","No","No","No","No","No","Yes","Yes",873,0,52,36.9,9.317,"214"
"694",64.67,"No",3,"Female","Yes","No","No",81.2663,29.27,"No",0.414893227228611,2,0,0,1,7,0,"No","No","Never","No","Vocational","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","No","No",874,0,62,36,9.617,"214"
"695",66.17,"Yes",6,"Female","No","No","Yes",103.521,22.67,"Yes",0.527849265710048,2,0,0,1,7,0,"No","No","Ex","No","Baccalaureat","No","[0-1000]","Yes","No","Yes","Yes","Yes","No","No","No","No","No","No","Yes","Yes",875,2,55,36.4,9.8,"215"
"696",60,"No",3,"Female","Yes","No","Yes",97.9789,24.16,"No",0.557688916890924,1,0,0,1,8,0,"No","No","Never","No","Baccalaureat","No","(3000-inf]","No","Yes","Yes","No","Yes","No","Yes","No","Yes","No","No","Yes","Yes",876,0,58,36.9,8.917,"215"
"697",61.08,"Yes",4,"Female","No","No","Yes",108.991,25.72,"Yes",0.188074917950465,2,3,0,3,5,0,"No","Yes","Ex","No","Baccalaureat","No","[0-1000]","Yes","No","No","Yes","No","No","Yes","No","No","No","No","No","No",877,0,65,36.4,8.783,"220"
"698",61.75,"No",4.5,"Female","Yes","No","Yes",79.7577,23.5,"No",0.356629841941175,2,0,0,1,7,0,"No","No","Never","No","Vocational","No","(2000-3000]","Yes","Yes","Yes","No","No","Yes","No","No","No","No","No","Yes","No",878,0,63,36.2,8.55,"228"
"699",64.5,"Yes",1,"Female","No","No","No",89.1415,26.29,"Yes",0.276826730482552,1,0,0,1,6,0,"No","Yes","Ex","No","UpToPrimary","No","(1000-2000]","No","No","Yes","Yes","No","No","No","No","No","Yes","No","No","No",879,0,58,36.4,8.55,"229"
"700",69.5,"No",1,"Female","No","No","Yes",110.274,28.04,"No",-0.408207495910174,1,0,0,3,6,0,"No","No","Never","No","Baccalaureat","No","(1000-2000]","Yes","No","Yes","No","No","No","No","No","No","No","No","Yes","No",880,2,52,35.9,8.8,"229"
"701",64.25,"No",4,"Female","No","No","No",97.8166,27.53,"Yes",0.205639381810014,2,0,0,1,7,3,"No","Yes","Ex","No","Vocational","No","(1000-2000]","No","No","Yes","Yes","No","Yes","No","No","Yes","No","Yes","Yes","No",881,2,80,36.6,9.3,"229"
"702",61.42,"No",1.834,"Female","Yes","No","No",97.2832,28.51,"Yes",0.171466720405868,1,3,0,0,8,3,"No","Yes","Never","No","Vocational","No","(1000-2000]","Yes","No","Yes","No","No","No","No","No","No","No","No","Yes","Yes",882,1,57,36.3,9.383,"248"
"703",61,"No",4,"Female","No","No","No",105.925,25.1,"No",0.17289286335486,1,0,0,1,7.5,0,"No","Yes","Never","No","Vocational","No","(1000-2000]","Yes","No","No","No","No","Yes","No","No","No","No","No","No","No",884,0,55,36.4,9.567,"257"
"704",65.17,"No",4,"Female","No","No","Yes",106.385,23.3,"Yes",0.089731428380933,1,0,0,2,8,0,"No","No","Active","No","UpToPrimary","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","No",885,0,57,36.4,9.567,"270"
"705",64.67,"No",2.331,"Female","Yes","No","No",88.9417,22.94,"Yes",0.0824321896394336,0,0,0,2,7,0,"No","No","Ex","No","Vocational","No","(3000-inf]","Yes","Yes","Yes","No","No","No","No","No","No","No","No","No","No",887,0,62,36.3,9.317,"270"
"706",61,"No",3,"Female","Yes","No","No",84.1529,23.83,"Yes",0.0916366414125091,1,0,0,1,9,0,"No","Yes","Ex","No","Vocational","No","(2000-3000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","Yes","No",888,0,54,36.1,9.167,"278"
"707",65.08,"No",2,"Female","No","No","Yes",80.8219,21.71,"Yes",0.1500702214323,2,0,0,0,5,0,"No","Yes","Ex","No","PhD","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",889,2,61,36,9.283,"292"
"708",60.58,"Yes",7,"Female","No","No","No",80.2174,24.14,"No",-0.164241986239886,1,3,0,2,5,3,"No","Yes","Active","No","Vocational","No","[0-1000]","Yes","No","No","No","No","No","No","No","No","No","No","Yes","No",890,3,49,36.9,9.267,"292"
"709",68.75,"No",4,"Female","No","No","No",111.509,26.98,"No",0.300104980443347,2,0,0,1,7,8,"No","No","Never","No","UpToPrimary","No","[0-1000]","No","No","No","Yes","No","No","No","No","No","No","No","No","No",891,5.33333333333333,64,36.1,9.167,"297"
"710",66.5,"Yes",2,"Female","No","No","No",114.024,24.77,"Yes",-0.29369995698758,1,0,0,2,7,0,"No","No","Ex","No","Vocational","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","Yes",892,0,63,36.3,9.033,"298"
"711",65.83,"No",3,"Female","No","No","No",150.107,23.3,"Yes",0.346459345308476,1,0,0,1,9,0,"No","No","Never","No","Baccalaureat","No","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","Yes","No","No",893,0,61,36.2,9.133,"299"
"712",61.67,"No",3,"Female","No","No","No",89.1538,22.06,"No",0.238326628191671,0,0,8,2,6,0,"No","Yes","Never","No","Vocational","No","(1000-2000]","No","No","No","No","No","No","No","No","No","Yes","No","Yes","No",894,0,50,36.4,9.55,"305"
"713",68.25,"No",1.169,"Female","No","No","No",94.8343,21.64,"Yes",-0.101526702455973,1,0,0,2,7,3,"No","No","Ex","No","PhD","No","(3000-inf]","Yes","Yes","Yes","No","No","No","No","No","No","No","No","No","No",895,0,50,36.4,9.133,"305"
"714",66.58,"No",6,"Female","No","No","Yes",94.0836,25,"Yes",-0.123090110300296,2,3,0,3,8,3,"No","No","Ex","No","UpToPrimary","No","[0-1000]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","No","No",896,1,52,36.3,9.05,"311"
"715",66.75,"No",12,"Female","No","No","Yes",85.3768,26.5,"Yes",0.147373893698081,2,3,3,1,8,3,"No","No","Active","No","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",898,3,67,36.2,8.9,"313"
"716",63.67,"No",2.5,"Female","Yes","No","No",99.0572,21.5,"No",0.157435219705977,1,0,0,1,7.5,0,"No","No","Never","No","Vocational","No","(1000-2000]","No","No","Yes","No","No","No","No","No","No","Yes","No","No","No",899,0,68,36.9,9.717,"318"
"717",65.17,"No",5,"Female","Yes","No","Yes",81.9168,25.97,"No",0.252795365469707,0,0,0,0,9,0,"No","No","Never","No","Vocational","No","(2000-3000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","Yes",900,0,62,36,9.583,"318"
"718",62.33,"No",10,"Male","Yes","No","No",108.685,31.67,"No",0.00682747744471257,2,3,0,1,8,0,"No","Yes","Ex","No","Baccalaureat","No","(2000-3000]","No","No","No","No","No","No","No","No","No","Yes","No","Yes","No",901,0,55,36.4,8.55,"45"
"719",68.17,"No",8,"Male","Yes","No","No",98.8235,27.33,"No",-0.0536446185659995,1,0,0,0,9,3,"No","No","Never","No","UpToPrimary","Past","(2000-3000]","No","No","No","No","No","Yes","No","No","No","Yes","No","No","No",902,0,55,36.1,8.883,"45"
"720",66.83,"No",2,"Male","Yes","Yes","No",85.6364,21.79,"No",0.0572266701595745,0,0,0,0,8,0,"No","No","Never","No","Vocational","Current","(2000-3000]","No","No","Yes","No","No","Yes","No","No","No","No","No","No","No",903,0,50,36.3,9.217,"45"
"721",63.5,"Yes",5.25,"Male","No","No","Yes",93.7845,23.92,"Yes",0.225258341079285,1,3,3,2,8,3,"Yes","Yes","Active","No","UpToPrimary","Current","(1000-2000]","Yes","No","No","No","No","No","No","No","No","No","No","No","No",904,3,47,36.3,9.55,"45"
"722",66.92,"No",1.5,"Male","Yes","Yes","No",96.2489,26.36,"No",0.249409231142235,2,0,0,3,6.5,0,"No","No","Ex","No","Vocational","Past","(2000-3000]","Yes","No","No","No","No","No","No","No","No","Yes","No","Yes","No",905,0,57,36.5,9.7,"46"
"723",68.25,"No",0,"Male","Yes","Yes","No",96.623,24.96,"No",0.251212532619953,3,0,0,0,8,0,"No","No","Never","No","Bachelor","No","(3000-inf]","No","No","No","No","No","Yes","No","No","No","No","No","No","No",906,0,50,36.4,9.783,"46"
"724",67.33,"No",7.5,"Male","Yes","No","No",72.2535,21.15,"No",0.760688336087455,1,0,0,3,8,0,"No","No","Never","No","UpToPrimary","No","(2000-3000]","No","No","Yes","No","No","Yes","No","No","No","No","No","No","No",907,0,43,36.2,8.55,"101"
"725",62.75,"Yes",4,"Male","No","No","Yes",92.8905,25.18,"No",0.0582112322547026,2,0,0,1,7,0,"No","No","Never","No","Vocational","No","(1000-2000]","Yes","No","Yes","No","No","No","No","No","No","No","No","Yes","No",908,0,60,36.2,8.883,"101"
"726",62.92,"Yes",3,"Male","Yes","No","No",96.0626,32,"Yes",0.271315366730591,2,0,0,0,7.5,0,"No","Yes","Active","No","Baccalaureat","No","(2000-3000]","No","No","Yes","No","No","Yes","No","No","No","No","No","Yes","Yes",909,0,76,37,9.217,"101"
"727",61.75,"No",0,"Male","Yes","No","Yes",96.2382,28.08,"Yes",0.524875904270001,3,0,0,0,8,14,"No","No","Active","Yes","PhD","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","Yes","No","No",910,5.33333333333333,67,36.4,9.55,"101"
"728",67.25,"No",0,"Male","Yes","No","No",82.7914,27.06,"No",-0.0727880946617161,4,0,0,0,8,0,"No","No","Ex","No","Vocational","Past","(1000-2000]","Yes","No","No","No","No","No","No","No","No","No","No","No","No",912,0,54,36,9.167,"101"
"729",65.25,"No",4,"Male","Yes","Yes","No",90.8429,22.06,"No",-0.192950567303484,0,0,0,1,6,0,"No","No","Never","No","Vocational","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",913,0,64,36.5,9.417,"101"
"730",67.5,"No",2,"Male","Yes","No","No",92.6319,28.99,"Yes",0.329249062151367,1,0,3,1,7,0,"No","No","Ex","No","Baccalaureat","No","(3000-inf]","No","No","No","Yes","No","No","Yes","No","No","No","Yes","No","Yes",914,0,54,35.7,9.567,"101"
"731",68.33,"No",9,"Male","Yes","No","No",96.7304,24.28,"No",-0.325188542653283,1,0,0,0,7,0,"No","No","Never","No","Vocational","Past","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",915,0,52,36,9.733,"101"
"732",66.83,"Yes",1,"Male","Yes","No","No",82.3991,26.75,"Yes",0.0984864012430115,2,0,3,3,6,0,"No","No","Never","No","UpToPrimary","No","(2000-3000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",916,0,74,36.6,8.55,"102"
"733",68.58,"No",3,"Male","Yes","No","No",91.5034,24.15,"Yes",0.751223547475337,0,0,0,0,7,0,"No","No","Never","No","Baccalaureat","Past","(3000-inf]","No","No","No","No","No","Yes","No","No","No","Yes","No","Yes","Yes",917,0,56,36.4,8.883,"102"
"734",63.33,"No",3,"Male","Yes","No","Yes",138.352,23.73,"No",0.545694383069144,0,0,0,0,6.5,0,"No","Yes","Ex","No","UpToPrimary","No","(1000-2000]","No","No","No","No","No","No","No","No","No","No","No","No","Yes",918,1,48,36.2,9.05,"110"
"735",65.58,"No",0,"Male","Yes","No","Yes",80.6773,27.33,"No",-0.0544795866585713,1,0,0,1,8,0,"No","No","Ex","No","PhD","No","(3000-inf]","No","No","No","No","No","No","No","No","No","Yes","No","No","No",919,4.66666666666667,53,36.4,9.583,"143"
"736",65.17,"No",9,"Male","Yes","No","No",102.237,26.21,"No",0.160263127434684,3,0,0,0,6,0,"No","No","Never","No","Baccalaureat","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","No",920,0,56,36.5,9.067,"144"
"737",68.58,"No",7,"Male","Yes","No","No",92.747,29.76,"No",-0.219462510195994,2,0,0,2,8.5,0,"No","No","Never","No","Vocational","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","No",921,0,56,36.4,8.55,"158"
"738",63.33,"No",6,"Male","Yes","No","No",66.2607,22.22,"No",0.0880628333268593,0,0,0,3,6.90955,0,"No","No","Never","No","Vocational","Past","(1000-2000]","Yes","No","No","No","No","No","No","No","No","No","No","No","No",922,0,44,36,9.45,"159"
"739",61.33,"No",2,"Male","Yes","Yes","Yes",104.745,25.3,"Yes",0.361768616756803,1,0,0,1,9,3,"No","No","Never","No","Vocational","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","Yes",923,0,44,36.4,9.017,"172"
"740",64.33,"No",5,"Male","Yes","No","Yes",81.3964,25.05,"Yes",0.177784417075126,2,0,0,1,7,0,"No","No","Ex","No","UpToPrimary","No","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",924,0,61,36,9.85,"180"
"741",66.33,"No",10,"Male","Yes","No","No",100.333,21.63,"No",0.109615453618179,0,0,0,1,8,0,"No","No","Never","No","Vocational","Past","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","No","Yes",925,1,60,36,9.283,"180"
"742",64.75,"No",0,"Male","Yes","No","Yes",105.511,26.6,"Yes",0.417834837388977,1,0,0,1,8,0,"No","No","Ex","No","Vocational","No","(2000-3000]","No","No","No","No","No","Yes","No","No","No","No","No","No","No",926,0,55,36,9,"180"
"743",62.67,"No",4,"Male","Yes","No","No",82.5038,23.03,"Yes",0.167053591098431,1,0,0,0,9,0,"No","No","Ex","No","Baccalaureat","No","(3000-inf]","Yes","Yes","No","Yes","No","No","No","No","No","No","No","No","No",927,0,40,36,9.083,"186"
"744",64.58,"No",2,"Male","Yes","No","No",88.5674,30.4,"No",0.526540358819835,2,0,0,2,8,0,"No","Yes","Never","No","UpToPrimary","No","(2000-3000]","No","No","Yes","No","No","Yes","No","No","No","No","No","No","Yes",928,0,61,36.6,9.433,"186"
"745",60.83,"No",0.5,"Male","Yes","No","Yes",94.1921,23.04,"No",0.384078369827324,2,0,0,0,8.5,0,"No","No","Ex","No","Vocational","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","Yes","No","No","Yes",929,0,56,36.4,9.3,"186"
"746",63.17,"No",2.331,"Male","No","No","Yes",82.4933,25.61,"Yes",0.459544293137441,1,0,0,1,7.5,0,"No","No","Ex","No","PhD","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",930,0,52,36.6,9.7,"186"
"747",64.17,"Yes",4.5,"Male","Yes","No","No",142.418,23.35,"No",0.551475545458509,1,0,0,1,8,0,"No","No","Ex","No","Bachelor","No","(3000-inf]","Yes","No","Yes","No","No","Yes","No","No","Yes","Yes","No","Yes","No",931,0,56,36.2,9.483,"192"
"748",62.08,"No",6,"Male","No","No","No",63.0584,22.49,"No",0.621513412066264,1,0,0,0,8,3,"No","No","Active","No","Vocational","Past","(1000-2000]","Yes","No","No","No","No","No","No","No","No","No","Yes","Yes","No",932,0,58,36,9.3,"192"
"749",66.08,"No",2,"Male","Yes","No","Yes",83.0803,26.07,"No",0.100081713462123,0,0,0,1,8,0,"No","No","Active","No","UpToPrimary","Past","(1000-2000]","No","No","No","No","No","Yes","No","No","No","No","No","No","No",933,0,52,36.5,9.5,"193"
"750",62.42,"No",0.333,"Male","Yes","No","Yes",102.374,26.17,"No",0.394744974426357,3,0,0,0,7,0,"No","No","Ex","Yes","PhD","No","(3000-inf]","Yes","Yes","Yes","Yes","No","No","No","No","Yes","No","No","Yes","Yes",934,0,55,36,10.1,"193"
"751",60.5,"Yes",1,"Male","No","No","Yes",102.649,21.77,"No",0.551475545458509,0,0,0,2,8.5,0,"No","No","Ex","No","PhD","No","(2000-3000]","No","No","No","No","No","No","No","No","Yes","No","Yes","No","No",935,1,50,36.2,9.333,"193"
"752",65.75,"No",3,"Male","Yes","No","No",106.885,21.46,"No",-0.0595535972828141,0,0,0,2,6,0,"No","No","Ex","No","Vocational","No","(3000-inf]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","Yes","No","No",936,0,58,36.3,9.233,"193"
"753",68.25,"No",10,"Male","No","No","No",100.977,22.4,"Yes",0.243362754856114,1,0,0,0,7.5,0,"No","No","Never","No","PhD","No","(2000-3000]","Yes","No","Yes","No","Yes","No","No","No","No","No","No","No","No",937,3,46,36.4,8.8,"194"
"754",65.58,"No",2,"Male","Yes","No","No",81.0381,25.1,"No",0.3300464880109,2,0,0,1,8,0,"No","No","Never","Yes","Baccalaureat","No","(2000-3000]","No","No","No","Yes","No","No","No","No","No","No","No","No","No",940,1,47,36,9.3,"199"
"755",62.67,"No",5,"Male","Yes","No","No",88.9609,20.28,"No",0.174633893654862,0,0,0,0,8.5,0,"No","Yes","Never","No","UpToPrimary","No","(1000-2000]","Yes","No","No","No","No","Yes","No","No","No","No","No","No","No",941,0,42,36.5,9.55,"199"
"756",63.83,"No",3,"Male","No","Yes","No",88.9022,22.2,"Yes",0.354359437365637,0,0,0,1,7,0,"No","Yes","Ex","No","Baccalaureat","Past","(1000-2000]","No","No","Yes","Yes","No","No","No","No","No","No","No","No","No",942,0,62,36.4,9.55,"200"
"757",67.67,"No",0.5,"Male","Yes","No","No",75.3639,29.98,"No",0.251375276645387,2,0,0,1,8.5,0,"No","Yes","Active","No","Vocational","No","(3000-inf]","No","No","No","Yes","No","No","Yes","No","Yes","Yes","Yes","Yes","No",943,0,55,36.5,9.833,"200"
"758",62.67,"Yes",14,"Male","Yes","No","Yes",85.5287,26.86,"No",0.167272794008493,3,0,0,0,11,3,"No","No","Ex","No","PhD","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",944,0,52,36.4,9.55,"201"
"759",63.75,"No",6,"Male","No","No","No",90.423,26.47,"No",0.271689863472191,2,0,0,1,6,0,"No","No","Ex","No","Vocational","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","Yes",945,1,62,36.5,8.933,"201"
"760",65.5,"No",8,"Male","Yes","Yes","Yes",99.2159,24.67,"No",0.386344078782504,1,0,0,1,9,0,"No","No","Never","No","Baccalaureat","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","Yes","No","No",946,0,54,36.6,9.8,"206"
"761",61.92,"No",7,"Male","Yes","No","Yes",99.3111,27.17,"No",0.279684447453339,3,0,0,0,8,0,"No","No","Ex","No","Vocational","No","(3000-inf]","Yes","No","No","No","No","No","No","No","No","No","No","No","No",947,0,64,36.2,9.05,"214"
"762",62.08,"No",0.5,"Male","No","No","No",86.365,25.3,"No",0.469415827912697,1,3,0,1,8,3,"No","No","Never","No","Vocational","Past","(1000-2000]","No","No","No","No","No","Yes","No","No","No","No","No","No","No",948,3,52,36.4,9.3,"214"
"763",60.67,"No",4,"Male","Yes","No","Yes",106.484,31.57,"No",0.28349646111048,2,0,0,2,6.5,0,"No","No","Ex","No","Vocational","Past","(1000-2000]","No","No","Yes","No","No","Yes","No","No","No","No","Yes","Yes","No",950,0,74,36.7,9.55,"220"
"764",64.42,"No",2.499,"Male","Yes","No","No",71.1987,27.21,"Yes",0.392279319788675,2,0,0,0,6.5,0,"No","No","Ex","No","UpToPrimary","Current","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","No","No",951,0,47,36.2,8.983,"220"
"765",63.67,"No",1,"Male","No","No","Yes",94.4179,25.34,"No",0.347920742543396,0,0,0,2,8,0,"No","No","Never","No","UpToPrimary","Past","(1000-2000]","Yes","No","No","No","No","No","No","No","No","No","Yes","Yes","No",952,0,70,36.5,9.55,"227"
"766",64.08,"No",3,"Male","Yes","No","No",87.898,26.72,"Yes",0.266138922965246,3,0,0,0,5.5,0,"No","No","Ex","No","Baccalaureat","No","(2000-3000]","Yes","No","No","Yes","No","Yes","No","No","No","No","Yes","No","Yes",953,0,57,36.6,9.05,"228"
"767",65.92,"No",5,"Male","Yes","No","Yes",101.238,25.59,"No",0.302574613114024,0,0,0,2,8,0,"No","No","Never","No","Bachelor","No","(1000-2000]","Yes","Yes","Yes","No","No","No","No","No","No","No","No","Yes","No",954,0,54,36.6,9.017,"228"
"768",63.17,"No",6.665,"Male","Yes","Yes","No",90.7789,22.2,"No",0.19281226861651,0,0,0,0,9,0,"No","No","Ex","No","UpToPrimary","No","(2000-3000]","Yes","No","Yes","Yes","Yes","No","No","No","No","No","No","No","No",955,0,54,36.1,8.883,"229"
"769",65.83,"No",9,"Male","Yes","No","No",94,25.25,"No",0.282546589969968,1,0,0,1,7,0,"No","No","Never","No","Vocational","No","(2000-3000]","No","No","Yes","No","No","Yes","No","No","No","No","No","No","No",956,0,58,36.1,9.183,"256"
"770",60.17,"No",7.5,"Male","Yes","No","No",92.3469,24.22,"Yes",-0.114148256524794,0,0,3,3,6.43955,3,"No","No","Ex","No","UpToPrimary","Past","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","No",957,2,50,36.1,8.717,"256"
"771",69.17,"No",0.666,"Male","Yes","No","No",117.088,26.36,"No",0.472544874313636,2,0,0,2,7.5,0,"No","Yes","Ex","No","Vocational","Past","(2000-3000]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","No","Yes",958,0,64,36.1,8.55,"257"
"772",61.42,"No",0,"Male","Yes","No","No",84.0653,28.4,"No",0.261000873578505,2,0,0,1,8,0,"No","No","Ex","No","Vocational","No","(3000-inf]","No","No","No","Yes","No","No","No","No","No","No","No","No","No",959,0,54,36.2,8.8,"257"
"773",62.33,"No",6,"Male","Yes","No","No",102.375,23.51,"No",0.336736562930217,1,0,0,0,7,0,"No","No","Never","No","UpToPrimary","No","(2000-3000]","No","No","No","Yes","No","No","Yes","No","Yes","No","Yes","No","Yes",961,0,61,36.4,9.55,"257"
"774",67.58,"No",4,"Male","Yes","No","No",85.8427,26.56,"Yes",-0.0908074140212025,2,0,0,0,6,0,"No","No","Ex","No","UpToPrimary","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","No","No",962,0,67,36.1,9.45,"257"
"775",63.92,"Yes",2.5,"Male","No","No","No",101.209,28.08,"Yes",0.197410605882813,2,0,3,2,7,3,"No","No","Never","No","Vocational","Past","(1000-2000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",963,4.66666666666667,62,36.9,9.05,"263"
"776",64.75,"No",2,"Male","Yes","No","No",106.877,27.33,"No",0.0532717747344687,2,0,0,1,7,0,"No","No","Ex","No","Baccalaureat","Past","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","No","Yes",964,0,46,36.1,9.55,"263"
"777",65.42,"No",6,"Male","Yes","No","Yes",81.6531,26.67,"Yes",0.376094675516774,1,0,0,1,8,3,"No","No","Never","No","Vocational","Past","(2000-3000]","Yes","No","Yes","No","No","No","No","No","No","No","No","Yes","No",965,0,59,36.3,9.217,"263"
"778",64.25,"No",4.5,"Male","Yes","No","No",99.771,25.45,"Yes",0.250433334654193,1,0,0,1,7.5,0,"No","No","Never","No","Bachelor","No","(3000-inf]","Yes","No","No","No","No","No","No","No","No","No","No","No","No",966,0,62,36.7,9.467,"264"
"779",60.83,"No",0,"Male","Yes","No","No",86.5582,28.05,"No",0.219707605680847,1,0,0,3,6,0,"No","No","Ex","No","Vocational","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","Yes","Yes","Yes",967,0,62,36.2,8.8,"269"
"780",61.83,"No",4,"Male","Yes","No","No",96.4777,27.08,"Yes",0.259666974416283,1,0,0,1,8.33333333333333,0,"No","No","Never","No","PhD","Past","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","No","Yes",968,0,66,36.2,9.017,"269"
"781",61.25,"No",1.5,"Male","Yes","Yes","No",81.3956,27.68,"No",0.107998985173669,0,0,0,2,8,0,"No","No","Never","No","Baccalaureat","Past","(3000-inf]","Yes","No","No","Yes","No","No","No","No","No","No","No","No","No",969,0,50,36,9.583,"271"
"782",69.75,"Yes",6,"Male","No","No","No",115.165,28.08,"No",0.683536113024149,1,0,0,0,7,0,"No","No","Never","No","UpToPrimary","No","(1000-2000]","Yes","No","No","No","No","No","No","No","No","No","No","Yes","Yes",970,0,55,36,9.3,"276"
"783",61,"No",3,"Male","Yes","No","No",113.121,22.65,"Yes",0.260644748522138,0,0,0,0,7.5,0,"No","No","Ex","No","Baccalaureat","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","Yes","No",971,0,43,36.2,9.25,"276"
"784",65.33,"No",3,"Male","Yes","No","No",98.5571,22.27,"Yes",0.228904565484527,1,0,0,0,9,0,"No","No","Ex","No","Vocational","Past","(1000-2000]","No","No","No","No","No","No","No","No","No","Yes","No","No","No",972,0,57,36.2,9.05,"277"
"785",60.58,"No",5,"Male","Yes","No","No",114.695,26.49,"No",0.20738361730958,2,0,0,1,7.5,0,"No","No","Ex","No","Vocational","No","(1000-2000]","No","No","No","Yes","No","Yes","No","No","No","No","No","No","No",973,0,55,36.2,9.8,"277"
"786",62.33,"No",6,"Male","Yes","No","No",92.0425,24.02,"No",0.250987528997666,2,0,0,0,9,0,"No","No","Ex","No","Vocational","Past","(2000-3000]","No","No","No","Yes","No","No","No","No","No","No","No","No","No",975,0,46,36.5,9.817,"277"
"787",61.75,"No",2.001,"Male","Yes","No","No",87.4625,31.97,"Yes",0.0769597860536667,3,0,0,1,7,0,"No","No","Ex","No","Baccalaureat","No","(3000-inf]","No","No","No","No","No","No","No","No","No","No","No","No","No",976,0,68,36.7,9.6,"278"
"788",62.08,"No",4,"Male","Yes","No","Yes",85.604,29.33,"No",-0.214524891704084,1,0,0,3,7,0,"No","No","Never","No","Baccalaureat","No","(3000-inf]","No","No","No","No","No","No","Yes","No","Yes","No","Yes","Yes","Yes",977,0,41,36.3,8.8,"283"
"789",64.67,"Yes",8,"Male","Yes","No","No",77.7701,24.03,"No",0.128029813585442,1,0,0,1,7,0,"No","Yes","Ex","No","UpToPrimary","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","No",978,0,59,36.4,9.683,"283"
"790",64.17,"No",2.5,"Male","Yes","No","Yes",83.2369,23.73,"No",0.420056837324889,0,0,0,2,7,0,"No","No","Never","Yes","Vocational","Past","(2000-3000]","No","No","No","No","No","Yes","No","No","No","No","No","No","Yes",979,0,65,36.2,9.767,"283"
"791",60.5,"No",12,"Male","Yes","Yes","Yes",81.7561,31.8,"No",-0.0914055732653986,3,0,0,0,8,3,"No","No","Ex","No","Vocational","Past","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",980,0,50,36.4,8.567,"284"
"792",63.25,"No",3,"Male","Yes","Yes","Yes",94.0127,26.06,"Yes",0.331406635999728,1,3,0,0,7.5,0,"No","No","Ex","Yes","Baccalaureat","No","(3000-inf]","Yes","No","Yes","Yes","No","No","Yes","No","No","No","Yes","Yes","Yes",982,0,74,36.2,9.25,"284"
"793",63.25,"No",1,"Male","Yes","No","Yes",92.1677,27.35,"Yes",-0.0208198439375734,3,0,0,0,8,0,"No","No","Ex","Yes","Bachelor","No","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","Yes","Yes","No",983,0,56,36.1,9.667,"285"
"794",60.33,"No",28,"Male","Yes","Yes","No",86.5848,24.53,"No",0.564110252302772,0,0,0,1,7,0,"No","Yes","Never","No","Vocational","Past","(2000-3000]","No","No","No","Yes","Yes","Yes","Yes","No","No","No","No","No","Yes",984,1,56,36.5,8.7,"290"
"795",61.5,"No",4,"Male","Yes","No","No",85.6737,22.79,"No",0.0513578140994683,0,0,0,0,8,0,"No","No","Ex","No","Baccalaureat","Past","(3000-inf]","No","No","No","Yes","No","No","No","No","No","No","No","No","No",985,0,41,36.5,9.383,"290"
"796",65.75,"No",2.5,"Male","No","No","No",105.881,28.51,"No",0.585341434223613,0,0,0,1,10,0,"No","No","Never","No","Vocational","No","(1000-2000]","Yes","No","Yes","Yes","Yes","Yes","No","No","No","No","No","Yes","No",986,1,50,36.3,9.3,"299"
"797",60.92,"No",9,"Male","Yes","Yes","No",82.4382,19.59,"No",0.157778958944774,0,0,0,0,8,0,"No","No","Never","Yes","PhD","No","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","Yes","No","No",987,0,40,36.4,8.8,"299"
"798",64.08,"Yes",4,"Male","Yes","No","No",75.8166,28.72,"Yes",0.278131649961477,1,3,0,1,7,0,"No","Yes","Ex","No","PhD","Past","(3000-inf]","Yes","No","Yes","No","No","No","No","No","No","No","No","No","No",988,0,50,36,9.133,"304"
"799",60.67,"No",8,"Male","Yes","Yes","No",108.883,21.14,"Yes",0.33750450265555,1,0,0,0,7,0,"No","No","Never","Yes","Vocational","Current","(3000-inf]","No","No","No","No","Yes","No","No","No","No","No","No","No","Yes",989,0,47,36.3,9.417,"304"
"800",63.33,"No",1,"Male","No","No","No",82.5901,23.14,"Yes",0.00507952552927497,1,0,0,1,10,0,"No","No","Never","Yes","Vocational","No","(2000-3000]","No","No","Yes","No","No","No","No","No","No","No","No","No","No",991,0,59,36,9.3,"305"
"801",64.67,"No",0,"Male","Yes","No","Yes",64.1644,25.05,"No",-0.430491288420218,1,0,0,3,7,3,"No","No","Never","No","UpToPrimary","No","(2000-3000]","No","No","No","No","No","No","No","No","No","No","No","No","No",992,0,51,36.3,9.333,"305"
"802",64.25,"Yes",8,"Male","Yes","No","No",85.42,26.17,"No",-0.0290517970578225,1,0,0,0,7.11666666666667,0,"No","No","Ex","No","Vocational","Past","[0-1000]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","No","No",993,0,52,36.2,8.917,"306"
"803",66.75,"No",0,"Male","Yes","No","Yes",83.1704,24.5,"No",0.103372144121424,1,0,0,2,8,0,"No","No","Ex","No","Baccalaureat","No","(1000-2000]","Yes","No","Yes","No","No","No","No","No","No","No","No","Yes","No",994,0,64,36.2,9.55,"311"
"804",61.5,"No",6,"Male","Yes","No","No",80.4239,28.25,"Yes",0.580076008629331,1,0,0,1,8,0,"No","No","Ex","No","Baccalaureat","Past","(2000-3000]","No","No","No","No","No","No","Yes","No","No","Yes","Yes","Yes","Yes",995,0,43,36.3,9.8,"311"
"805",60.75,"No",5.25,"Male","Yes","No","No",92.1147,26.12,"No",0.193470544355574,1,0,0,1,7,0,"No","No","Never","No","Vocational","Past","(1000-2000]","Yes","No","Yes","Yes","No","No","No","No","No","No","No","No","No",996,0,47,36.2,9.083,"311"
"806",63.08,"No",4.5,"Male","Yes","Yes","No",97.8815,22.86,"No",0.0280287236002435,0,0,0,1,7,0,"No","Yes","Never","No","Vocational","No","(3000-inf]","Yes","No","Yes","Yes","No","No","No","No","No","Yes","Yes","Yes","No",997,0,50,36.4,9.3,"312"
"807",65.67,"No",3,"Male","Yes","No","No",106.747,25.95,"No",-0.174815797105439,1,0,0,3,8,0,"No","No","Ex","No","Vocational","No","(1000-2000]","Yes","No","Yes","Yes","No","Yes","No","No","No","No","No","No","No",998,0,68,36.2,9.3,"318"
"808",68.5,"Yes",0,"Male","Yes","No","Yes",87.3355,22.57,"No",0.294595885658571,1,0,3,1,7,0,"No","No","Never","No","Vocational","No","(3000-inf]","No","No","No","No","No","Yes","No","No","No","No","No","No","No",999,0,47,36.1,8.8,"319"
"809",62.67,"No",5,"Male","Yes","No","No",84.0211,26.39,"Yes",0.198225704269932,2,0,0,1,7,0,"No","No","Ex","No","PhD","Past","(3000-inf]","No","No","No","Yes","Yes","No","No","No","No","No","No","No","No",1000,0,77,36.2,8.717,"319"
"810",20.67,"Yes",0,"Female","No","No","Yes",68.1998,18.51,"No",0.0640173047833189,1,0,0,1,7,3,"No","Yes","Active","No","Bachelor","No","[0-1000]","No","No","No","No","No","No","No","No","No","No","No","No","No",5096,0,70,36.6,8.567,"335"
"811",25,"Yes",2.5,"Male","No","No","Yes",97.0202,24.69,"No",0.345599547910832,1,0,0,1,10,3,"No","No","Never","Yes","PhD","No","(1000-2000]","No","No","Yes","No","No","No","No","Yes","No","No","No","Yes","Yes",5122,0,68,36.7,8.8,"227"
"812",21.42,"Yes",6,"Male","No","No","Yes",73.0073,24.75,"No",0.2106707735603,0,0,0,3,7.5,0,"No","No","Never","Yes","PhD","Current","(3000-inf]","No","No","Yes","No","No","No","No","No","No","No","No","Yes","No",5167,0,44,36.6,8.55,"270"
"813",38.33,"No",1.5,"Female","Yes","Yes","No",79.7187,23.53,"No",0.354790361121824,1,0,0,2,9,0,"No","Yes","Ex","Yes","Baccalaureat","No","(3000-inf]","Yes","Yes","Yes","No","No","No","No","No","No","No","No","Yes","No",5219,0,54,36.7,9.217,"229"
"814",32.75,"Yes",2.5,"Female","No","No","No",86.6744,20.07,"No",0.252036549995393,0,0,0,1,8,3,"No","Yes","Never","No","Baccalaureat","No","(1000-2000]","No","No","No","Yes","No","No","No","No","No","No","No","Yes","No",5279,3,62,36.3,9.8,"278"
"815",39.17,"No",4,"Male","No","Yes","Yes",98.9744,22.77,"Yes",0.264939890134124,0,0,0,2,7.5,0,"No","No","Never","Yes","PhD","No","(2000-3000]","No","No","No","Yes","No","No","No","Yes","No","No","No","No","No",5303,0,39,36.3,9.583,"277"
"816",59,"No",0,"Male","Yes","Yes","Yes",84.6433,27.39,"Yes",0.281521851690932,1,0,0,0,8,0,"No","No","Never","No","Baccalaureat","No","(2000-3000]","No","No","No","No","Yes","No","No","No","No","No","No","No","No",5701,0,61,36.1,9.317,"241"
PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked
1,0,3,"Braund, Mr. Owen Harris",male,22,1,0,A/5 21171,7.25,,S
2,1,1,"Cumings, Mrs. John Bradley (Florence Briggs Thayer)",female,38,1,0,PC 17599,71.2833,C85,C
3,1,3,"Heikkinen, Miss. Laina",female,26,0,0,STON/O2. 3101282,7.925,,S
4,1,1,"Futrelle, Mrs. Jacques Heath (Lily May Peel)",female,35,1,0,113803,53.1,C123,S
5,0,3,"Allen, Mr. William Henry",male,35,0,0,373450,8.05,,S
6,0,3,"Moran, Mr. James",male,,0,0,330877,8.4583,,Q
7,0,1,"McCarthy, Mr. Timothy J",male,54,0,0,17463,51.8625,E46,S
8,0,3,"Palsson, Master. Gosta Leonard",male,2,3,1,349909,21.075,,S
9,1,3,"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)",female,27,0,2,347742,11.1333,,S
10,1,2,"Nasser, Mrs. Nicholas (Adele Achem)",female,14,1,0,237736,30.0708,,C
11,1,3,"Sandstrom, Miss. Marguerite Rut",female,4,1,1,PP 9549,16.7,G6,S
12,1,1,"Bonnell, Miss. Elizabeth",female,58,0,0,113783,26.55,C103,S
13,0,3,"Saundercock, Mr. William Henry",male,20,0,0,A/5. 2151,8.05,,S
14,0,3,"Andersson, Mr. Anders Johan",male,39,1,5,347082,31.275,,S
15,0,3,"Vestrom, Miss. Hulda Amanda Adolfina",female,14,0,0,350406,7.8542,,S
16,1,2,"Hewlett, Mrs. (Mary D Kingcome) ",female,55,0,0,248706,16,,S
17,0,3,"Rice, Master. Eugene",male,2,4,1,382652,29.125,,Q
18,1,2,"Williams, Mr. Charles Eugene",male,,0,0,244373,13,,S
19,0,3,"Vander Planke, Mrs. Julius (Emelia Maria Vandemoortele)",female,31,1,0,345763,18,,S
20,1,3,"Masselmani, Mrs. Fatima",female,,0,0,2649,7.225,,C
21,0,2,"Fynney, Mr. Joseph J",male,35,0,0,239865,26,,S
22,1,2,"Beesley, Mr. Lawrence",male,34,0,0,248698,13,D56,S
23,1,3,"McGowan, Miss. Anna ""Annie""",female,15,0,0,330923,8.0292,,Q
24,1,1,"Sloper, Mr. William Thompson",male,28,0,0,113788,35.5,A6,S
25,0,3,"Palsson, Miss. Torborg Danira",female,8,3,1,349909,21.075,,S
26,1,3,"Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson)",female,38,1,5,347077,31.3875,,S
27,0,3,"Emir, Mr. Farred Chehab",male,,0,0,2631,7.225,,C
28,0,1,"Fortune, Mr. Charles Alexander",male,19,3,2,19950,263,C23 C25 C27,S
29,1,3,"O'Dwyer, Miss. Ellen ""Nellie""",female,,0,0,330959,7.8792,,Q
30,0,3,"Todoroff, Mr. Lalio",male,,0,0,349216,7.8958,,S
31,0,1,"Uruchurtu, Don. Manuel E",male,40,0,0,PC 17601,27.7208,,C
32,1,1,"Spencer, Mrs. William Augustus (Marie Eugenie)",female,,1,0,PC 17569,146.5208,B78,C
33,1,3,"Glynn, Miss. Mary Agatha",female,,0,0,335677,7.75,,Q
34,0,2,"Wheadon, Mr. Edward H",male,66,0,0,C.A. 24579,10.5,,S
35,0,1,"Meyer, Mr. Edgar Joseph",male,28,1,0,PC 17604,82.1708,,C
36,0,1,"Holverson, Mr. Alexander Oskar",male,42,1,0,113789,52,,S
37,1,3,"Mamee, Mr. Hanna",male,,0,0,2677,7.2292,,C
38,0,3,"Cann, Mr. Ernest Charles",male,21,0,0,A./5. 2152,8.05,,S
39,0,3,"Vander Planke, Miss. Augusta Maria",female,18,2,0,345764,18,,S
40,1,3,"Nicola-Yarred, Miss. Jamila",female,14,1,0,2651,11.2417,,C
41,0,3,"Ahlin, Mrs. Johan (Johanna Persdotter Larsson)",female,40,1,0,7546,9.475,,S
42,0,2,"Turpin, Mrs. William John Robert (Dorothy Ann Wonnacott)",female,27,1,0,11668,21,,S
43,0,3,"Kraeff, Mr. Theodor",male,,0,0,349253,7.8958,,C
44,1,2,"Laroche, Miss. Simonne Marie Anne Andree",female,3,1,2,SC/Paris 2123,41.5792,,C
45,1,3,"Devaney, Miss. Margaret Delia",female,19,0,0,330958,7.8792,,Q
46,0,3,"Rogers, Mr. William John",male,,0,0,S.C./A.4. 23567,8.05,,S
47,0,3,"Lennon, Mr. Denis",male,,1,0,370371,15.5,,Q
48,1,3,"O'Driscoll, Miss. Bridget",female,,0,0,14311,7.75,,Q
49,0,3,"Samaan, Mr. Youssef",male,,2,0,2662,21.6792,,C
50,0,3,"Arnold-Franchi, Mrs. Josef (Josefine Franchi)",female,18,1,0,349237,17.8,,S
51,0,3,"Panula, Master. Juha Niilo",male,7,4,1,3101295,39.6875,,S
52,0,3,"Nosworthy, Mr. Richard Cater",male,21,0,0,A/4. 39886,7.8,,S
53,1,1,"Harper, Mrs. Henry Sleeper (Myna Haxtun)",female,49,1,0,PC 17572,76.7292,D33,C
54,1,2,"Faunthorpe, Mrs. Lizzie (Elizabeth Anne Wilkinson)",female,29,1,0,2926,26,,S
55,0,1,"Ostby, Mr. Engelhart Cornelius",male,65,0,1,113509,61.9792,B30,C
56,1,1,"Woolner, Mr. Hugh",male,,0,0,19947,35.5,C52,S
57,1,2,"Rugg, Miss. Emily",female,21,0,0,C.A. 31026,10.5,,S
58,0,3,"Novel, Mr. Mansouer",male,28.5,0,0,2697,7.2292,,C
59,1,2,"West, Miss. Constance Mirium",female,5,1,2,C.A. 34651,27.75,,S
60,0,3,"Goodwin, Master. William Frederick",male,11,5,2,CA 2144,46.9,,S
61,0,3,"Sirayanian, Mr. Orsen",male,22,0,0,2669,7.2292,,C
62,1,1,"Icard, Miss. Amelie",female,38,0,0,113572,80,B28,S
63,0,1,"Harris, Mr. Henry Birkhardt",male,45,1,0,36973,83.475,C83,S
64,0,3,"Skoog, Master. Harald",male,4,3,2,347088,27.9,,S
65,0,1,"Stewart, Mr. Albert A",male,,0,0,PC 17605,27.7208,,C
66,1,3,"Moubarek, Master. Gerios",male,,1,1,2661,15.2458,,C
67,1,2,"Nye, Mrs. (Elizabeth Ramell)",female,29,0,0,C.A. 29395,10.5,F33,S
68,0,3,"Crease, Mr. Ernest James",male,19,0,0,S.P. 3464,8.1583,,S
69,1,3,"Andersson, Miss. Erna Alexandra",female,17,4,2,3101281,7.925,,S
70,0,3,"Kink, Mr. Vincenz",male,26,2,0,315151,8.6625,,S
71,0,2,"Jenkin, Mr. Stephen Curnow",male,32,0,0,C.A. 33111,10.5,,S
72,0,3,"Goodwin, Miss. Lillian Amy",female,16,5,2,CA 2144,46.9,,S
73,0,2,"Hood, Mr. Ambrose Jr",male,21,0,0,S.O.C. 14879,73.5,,S
74,0,3,"Chronopoulos, Mr. Apostolos",male,26,1,0,2680,14.4542,,C
75,1,3,"Bing, Mr. Lee",male,32,0,0,1601,56.4958,,S
76,0,3,"Moen, Mr. Sigurd Hansen",male,25,0,0,348123,7.65,F G73,S
77,0,3,"Staneff, Mr. Ivan",male,,0,0,349208,7.8958,,S
78,0,3,"Moutal, Mr. Rahamin Haim",male,,0,0,374746,8.05,,S
79,1,2,"Caldwell, Master. Alden Gates",male,0.83,0,2,248738,29,,S
80,1,3,"Dowdell, Miss. Elizabeth",female,30,0,0,364516,12.475,,S
81,0,3,"Waelens, Mr. Achille",male,22,0,0,345767,9,,S
82,1,3,"Sheerlinck, Mr. Jan Baptist",male,29,0,0,345779,9.5,,S
83,1,3,"McDermott, Miss. Brigdet Delia",female,,0,0,330932,7.7875,,Q
84,0,1,"Carrau, Mr. Francisco M",male,28,0,0,113059,47.1,,S
85,1,2,"Ilett, Miss. Bertha",female,17,0,0,SO/C 14885,10.5,,S
86,1,3,"Backstrom, Mrs. Karl Alfred (Maria Mathilda Gustafsson)",female,33,3,0,3101278,15.85,,S
87,0,3,"Ford, Mr. William Neal",male,16,1,3,W./C. 6608,34.375,,S
88,0,3,"Slocovski, Mr. Selman Francis",male,,0,0,SOTON/OQ 392086,8.05,,S
89,1,1,"Fortune, Miss. Mabel Helen",female,23,3,2,19950,263,C23 C25 C27,S
90,0,3,"Celotti, Mr. Francesco",male,24,0,0,343275,8.05,,S
91,0,3,"Christmann, Mr. Emil",male,29,0,0,343276,8.05,,S
92,0,3,"Andreasson, Mr. Paul Edvin",male,20,0,0,347466,7.8542,,S
93,0,1,"Chaffee, Mr. Herbert Fuller",male,46,1,0,W.E.P. 5734,61.175,E31,S
94,0,3,"Dean, Mr. Bertram Frank",male,26,1,2,C.A. 2315,20.575,,S
95,0,3,"Coxon, Mr. Daniel",male,59,0,0,364500,7.25,,S
96,0,3,"Shorney, Mr. Charles Joseph",male,,0,0,374910,8.05,,S
97,0,1,"Goldschmidt, Mr. George B",male,71,0,0,PC 17754,34.6542,A5,C
98,1,1,"Greenfield, Mr. William Bertram",male,23,0,1,PC 17759,63.3583,D10 D12,C
99,1,2,"Doling, Mrs. John T (Ada Julia Bone)",female,34,0,1,231919,23,,S
100,0,2,"Kantor, Mr. Sinai",male,34,1,0,244367,26,,S
101,0,3,"Petranec, Miss. Matilda",female,28,0,0,349245,7.8958,,S
102,0,3,"Petroff, Mr. Pastcho (""Pentcho"")",male,,0,0,349215,7.8958,,S
103,0,1,"White, Mr. Richard Frasar",male,21,0,1,35281,77.2875,D26,S
104,0,3,"Johansson, Mr. Gustaf Joel",male,33,0,0,7540,8.6542,,S
105,0,3,"Gustafsson, Mr. Anders Vilhelm",male,37,2,0,3101276,7.925,,S
106,0,3,"Mionoff, Mr. Stoytcho",male,28,0,0,349207,7.8958,,S
107,1,3,"Salkjelsvik, Miss. Anna Kristine",female,21,0,0,343120,7.65,,S
108,1,3,"Moss, Mr. Albert Johan",male,,0,0,312991,7.775,,S
109,0,3,"Rekic, Mr. Tido",male,38,0,0,349249,7.8958,,S
110,1,3,"Moran, Miss. Bertha",female,,1,0,371110,24.15,,Q
111,0,1,"Porter, Mr. Walter Chamberlain",male,47,0,0,110465,52,C110,S
112,0,3,"Zabour, Miss. Hileni",female,14.5,1,0,2665,14.4542,,C
113,0,3,"Barton, Mr. David John",male,22,0,0,324669,8.05,,S
114,0,3,"Jussila, Miss. Katriina",female,20,1,0,4136,9.825,,S
115,0,3,"Attalah, Miss. Malake",female,17,0,0,2627,14.4583,,C
116,0,3,"Pekoniemi, Mr. Edvard",male,21,0,0,STON/O 2. 3101294,7.925,,S
117,0,3,"Connors, Mr. Patrick",male,70.5,0,0,370369,7.75,,Q
118,0,2,"Turpin, Mr. William John Robert",male,29,1,0,11668,21,,S
119,0,1,"Baxter, Mr. Quigg Edmond",male,24,0,1,PC 17558,247.5208,B58 B60,C
120,0,3,"Andersson, Miss. Ellis Anna Maria",female,2,4,2,347082,31.275,,S
121,0,2,"Hickman, Mr. Stanley George",male,21,2,0,S.O.C. 14879,73.5,,S
122,0,3,"Moore, Mr. Leonard Charles",male,,0,0,A4. 54510,8.05,,S
123,0,2,"Nasser, Mr. Nicholas",male,32.5,1,0,237736,30.0708,,C
124,1,2,"Webber, Miss. Susan",female,32.5,0,0,27267,13,E101,S
125,0,1,"White, Mr. Percival Wayland",male,54,0,1,35281,77.2875,D26,S
126,1,3,"Nicola-Yarred, Master. Elias",male,12,1,0,2651,11.2417,,C
127,0,3,"McMahon, Mr. Martin",male,,0,0,370372,7.75,,Q
128,1,3,"Madsen, Mr. Fridtjof Arne",male,24,0,0,C 17369,7.1417,,S
129,1,3,"Peter, Miss. Anna",female,,1,1,2668,22.3583,F E69,C
130,0,3,"Ekstrom, Mr. Johan",male,45,0,0,347061,6.975,,S
131,0,3,"Drazenoic, Mr. Jozef",male,33,0,0,349241,7.8958,,C
132,0,3,"Coelho, Mr. Domingos Fernandeo",male,20,0,0,SOTON/O.Q. 3101307,7.05,,S
133,0,3,"Robins, Mrs. Alexander A (Grace Charity Laury)",female,47,1,0,A/5. 3337,14.5,,S
134,1,2,"Weisz, Mrs. Leopold (Mathilde Francoise Pede)",female,29,1,0,228414,26,,S
135,0,2,"Sobey, Mr. Samuel James Hayden",male,25,0,0,C.A. 29178,13,,S
136,0,2,"Richard, Mr. Emile",male,23,0,0,SC/PARIS 2133,15.0458,,C
137,1,1,"Newsom, Miss. Helen Monypeny",female,19,0,2,11752,26.2833,D47,S
138,0,1,"Futrelle, Mr. Jacques Heath",male,37,1,0,113803,53.1,C123,S
139,0,3,"Osen, Mr. Olaf Elon",male,16,0,0,7534,9.2167,,S
140,0,1,"Giglio, Mr. Victor",male,24,0,0,PC 17593,79.2,B86,C
141,0,3,"Boulos, Mrs. Joseph (Sultana)",female,,0,2,2678,15.2458,,C
142,1,3,"Nysten, Miss. Anna Sofia",female,22,0,0,347081,7.75,,S
143,1,3,"Hakkarainen, Mrs. Pekka Pietari (Elin Matilda Dolck)",female,24,1,0,STON/O2. 3101279,15.85,,S
144,0,3,"Burke, Mr. Jeremiah",male,19,0,0,365222,6.75,,Q
145,0,2,"Andrew, Mr. Edgardo Samuel",male,18,0,0,231945,11.5,,S
146,0,2,"Nicholls, Mr. Joseph Charles",male,19,1,1,C.A. 33112,36.75,,S
147,1,3,"Andersson, Mr. August Edvard (""Wennerstrom"")",male,27,0,0,350043,7.7958,,S
148,0,3,"Ford, Miss. Robina Maggie ""Ruby""",female,9,2,2,W./C. 6608,34.375,,S
149,0,2,"Navratil, Mr. Michel (""Louis M Hoffman"")",male,36.5,0,2,230080,26,F2,S
150,0,2,"Byles, Rev. Thomas Roussel Davids",male,42,0,0,244310,13,,S
151,0,2,"Bateman, Rev. Robert James",male,51,0,0,S.O.P. 1166,12.525,,S
152,1,1,"Pears, Mrs. Thomas (Edith Wearne)",female,22,1,0,113776,66.6,C2,S
153,0,3,"Meo, Mr. Alfonzo",male,55.5,0,0,A.5. 11206,8.05,,S
154,0,3,"van Billiard, Mr. Austin Blyler",male,40.5,0,2,A/5. 851,14.5,,S
155,0,3,"Olsen, Mr. Ole Martin",male,,0,0,Fa 265302,7.3125,,S
156,0,1,"Williams, Mr. Charles Duane",male,51,0,1,PC 17597,61.3792,,C
157,1,3,"Gilnagh, Miss. Katherine ""Katie""",female,16,0,0,35851,7.7333,,Q
158,0,3,"Corn, Mr. Harry",male,30,0,0,SOTON/OQ 392090,8.05,,S
159,0,3,"Smiljanic, Mr. Mile",male,,0,0,315037,8.6625,,S
160,0,3,"Sage, Master. Thomas Henry",male,,8,2,CA. 2343,69.55,,S
161,0,3,"Cribb, Mr. John Hatfield",male,44,0,1,371362,16.1,,S
162,1,2,"Watt, Mrs. James (Elizabeth ""Bessie"" Inglis Milne)",female,40,0,0,C.A. 33595,15.75,,S
163,0,3,"Bengtsson, Mr. John Viktor",male,26,0,0,347068,7.775,,S
164,0,3,"Calic, Mr. Jovo",male,17,0,0,315093,8.6625,,S
165,0,3,"Panula, Master. Eino Viljami",male,1,4,1,3101295,39.6875,,S
166,1,3,"Goldsmith, Master. Frank John William ""Frankie""",male,9,0,2,363291,20.525,,S
167,1,1,"Chibnall, Mrs. (Edith Martha Bowerman)",female,,0,1,113505,55,E33,S
168,0,3,"Skoog, Mrs. William (Anna Bernhardina Karlsson)",female,45,1,4,347088,27.9,,S
169,0,1,"Baumann, Mr. John D",male,,0,0,PC 17318,25.925,,S
170,0,3,"Ling, Mr. Lee",male,28,0,0,1601,56.4958,,S
171,0,1,"Van der hoef, Mr. Wyckoff",male,61,0,0,111240,33.5,B19,S
172,0,3,"Rice, Master. Arthur",male,4,4,1,382652,29.125,,Q
173,1,3,"Johnson, Miss. Eleanor Ileen",female,1,1,1,347742,11.1333,,S
174,0,3,"Sivola, Mr. Antti Wilhelm",male,21,0,0,STON/O 2. 3101280,7.925,,S
175,0,1,"Smith, Mr. James Clinch",male,56,0,0,17764,30.6958,A7,C
176,0,3,"Klasen, Mr. Klas Albin",male,18,1,1,350404,7.8542,,S
177,0,3,"Lefebre, Master. Henry Forbes",male,,3,1,4133,25.4667,,S
178,0,1,"Isham, Miss. Ann Elizabeth",female,50,0,0,PC 17595,28.7125,C49,C
179,0,2,"Hale, Mr. Reginald",male,30,0,0,250653,13,,S
180,0,3,"Leonard, Mr. Lionel",male,36,0,0,LINE,0,,S
181,0,3,"Sage, Miss. Constance Gladys",female,,8,2,CA. 2343,69.55,,S
182,0,2,"Pernot, Mr. Rene",male,,0,0,SC/PARIS 2131,15.05,,C
183,0,3,"Asplund, Master. Clarence Gustaf Hugo",male,9,4,2,347077,31.3875,,S
184,1,2,"Becker, Master. Richard F",male,1,2,1,230136,39,F4,S
185,1,3,"Kink-Heilmann, Miss. Luise Gretchen",female,4,0,2,315153,22.025,,S
186,0,1,"Rood, Mr. Hugh Roscoe",male,,0,0,113767,50,A32,S
187,1,3,"O'Brien, Mrs. Thomas (Johanna ""Hannah"" Godfrey)",female,,1,0,370365,15.5,,Q
188,1,1,"Romaine, Mr. Charles Hallace (""Mr C Rolmane"")",male,45,0,0,111428,26.55,,S
189,0,3,"Bourke, Mr. John",male,40,1,1,364849,15.5,,Q
190,0,3,"Turcin, Mr. Stjepan",male,36,0,0,349247,7.8958,,S
191,1,2,"Pinsky, Mrs. (Rosa)",female,32,0,0,234604,13,,S
192,0,2,"Carbines, Mr. William",male,19,0,0,28424,13,,S
193,1,3,"Andersen-Jensen, Miss. Carla Christine Nielsine",female,19,1,0,350046,7.8542,,S
194,1,2,"Navratil, Master. Michel M",male,3,1,1,230080,26,F2,S
195,1,1,"Brown, Mrs. James Joseph (Margaret Tobin)",female,44,0,0,PC 17610,27.7208,B4,C
196,1,1,"Lurette, Miss. Elise",female,58,0,0,PC 17569,146.5208,B80,C
197,0,3,"Mernagh, Mr. Robert",male,,0,0,368703,7.75,,Q
198,0,3,"Olsen, Mr. Karl Siegwart Andreas",male,42,0,1,4579,8.4042,,S
199,1,3,"Madigan, Miss. Margaret ""Maggie""",female,,0,0,370370,7.75,,Q
200,0,2,"Yrois, Miss. Henriette (""Mrs Harbeck"")",female,24,0,0,248747,13,,S
201,0,3,"Vande Walle, Mr. Nestor Cyriel",male,28,0,0,345770,9.5,,S
202,0,3,"Sage, Mr. Frederick",male,,8,2,CA. 2343,69.55,,S
203,0,3,"Johanson, Mr. Jakob Alfred",male,34,0,0,3101264,6.4958,,S
204,0,3,"Youseff, Mr. Gerious",male,45.5,0,0,2628,7.225,,C
205,1,3,"Cohen, Mr. Gurshon ""Gus""",male,18,0,0,A/5 3540,8.05,,S
206,0,3,"Strom, Miss. Telma Matilda",female,2,0,1,347054,10.4625,G6,S
207,0,3,"Backstrom, Mr. Karl Alfred",male,32,1,0,3101278,15.85,,S
208,1,3,"Albimona, Mr. Nassef Cassem",male,26,0,0,2699,18.7875,,C
209,1,3,"Carr, Miss. Helen ""Ellen""",female,16,0,0,367231,7.75,,Q
210,1,1,"Blank, Mr. Henry",male,40,0,0,112277,31,A31,C
211,0,3,"Ali, Mr. Ahmed",male,24,0,0,SOTON/O.Q. 3101311,7.05,,S
212,1,2,"Cameron, Miss. Clear Annie",female,35,0,0,F.C.C. 13528,21,,S
213,0,3,"Perkin, Mr. John Henry",male,22,0,0,A/5 21174,7.25,,S
214,0,2,"Givard, Mr. Hans Kristensen",male,30,0,0,250646,13,,S
215,0,3,"Kiernan, Mr. Philip",male,,1,0,367229,7.75,,Q
216,1,1,"Newell, Miss. Madeleine",female,31,1,0,35273,113.275,D36,C
217,1,3,"Honkanen, Miss. Eliina",female,27,0,0,STON/O2. 3101283,7.925,,S
218,0,2,"Jacobsohn, Mr. Sidney Samuel",male,42,1,0,243847,27,,S
219,1,1,"Bazzani, Miss. Albina",female,32,0,0,11813,76.2917,D15,C
220,0,2,"Harris, Mr. Walter",male,30,0,0,W/C 14208,10.5,,S
221,1,3,"Sunderland, Mr. Victor Francis",male,16,0,0,SOTON/OQ 392089,8.05,,S
222,0,2,"Bracken, Mr. James H",male,27,0,0,220367,13,,S
223,0,3,"Green, Mr. George Henry",male,51,0,0,21440,8.05,,S
224,0,3,"Nenkoff, Mr. Christo",male,,0,0,349234,7.8958,,S
225,1,1,"Hoyt, Mr. Frederick Maxfield",male,38,1,0,19943,90,C93,S
226,0,3,"Berglund, Mr. Karl Ivar Sven",male,22,0,0,PP 4348,9.35,,S
227,1,2,"Mellors, Mr. William John",male,19,0,0,SW/PP 751,10.5,,S
228,0,3,"Lovell, Mr. John Hall (""Henry"")",male,20.5,0,0,A/5 21173,7.25,,S
229,0,2,"Fahlstrom, Mr. Arne Jonas",male,18,0,0,236171,13,,S
230,0,3,"Lefebre, Miss. Mathilde",female,,3,1,4133,25.4667,,S
231,1,1,"Harris, Mrs. Henry Birkhardt (Irene Wallach)",female,35,1,0,36973,83.475,C83,S
232,0,3,"Larsson, Mr. Bengt Edvin",male,29,0,0,347067,7.775,,S
233,0,2,"Sjostedt, Mr. Ernst Adolf",male,59,0,0,237442,13.5,,S
234,1,3,"Asplund, Miss. Lillian Gertrud",female,5,4,2,347077,31.3875,,S
235,0,2,"Leyson, Mr. Robert William Norman",male,24,0,0,C.A. 29566,10.5,,S
236,0,3,"Harknett, Miss. Alice Phoebe",female,,0,0,W./C. 6609,7.55,,S
237,0,2,"Hold, Mr. Stephen",male,44,1,0,26707,26,,S
238,1,2,"Collyer, Miss. Marjorie ""Lottie""",female,8,0,2,C.A. 31921,26.25,,S
239,0,2,"Pengelly, Mr. Frederick William",male,19,0,0,28665,10.5,,S
240,0,2,"Hunt, Mr. George Henry",male,33,0,0,SCO/W 1585,12.275,,S
241,0,3,"Zabour, Miss. Thamine",female,,1,0,2665,14.4542,,C
242,1,3,"Murphy, Miss. Katherine ""Kate""",female,,1,0,367230,15.5,,Q
243,0,2,"Coleridge, Mr. Reginald Charles",male,29,0,0,W./C. 14263,10.5,,S
244,0,3,"Maenpaa, Mr. Matti Alexanteri",male,22,0,0,STON/O 2. 3101275,7.125,,S
245,0,3,"Attalah, Mr. Sleiman",male,30,0,0,2694,7.225,,C
246,0,1,"Minahan, Dr. William Edward",male,44,2,0,19928,90,C78,Q
247,0,3,"Lindahl, Miss. Agda Thorilda Viktoria",female,25,0,0,347071,7.775,,S
248,1,2,"Hamalainen, Mrs. William (Anna)",female,24,0,2,250649,14.5,,S
249,1,1,"Beckwith, Mr. Richard Leonard",male,37,1,1,11751,52.5542,D35,S
250,0,2,"Carter, Rev. Ernest Courtenay",male,54,1,0,244252,26,,S
251,0,3,"Reed, Mr. James George",male,,0,0,362316,7.25,,S
252,0,3,"Strom, Mrs. Wilhelm (Elna Matilda Persson)",female,29,1,1,347054,10.4625,G6,S
253,0,1,"Stead, Mr. William Thomas",male,62,0,0,113514,26.55,C87,S
254,0,3,"Lobb, Mr. William Arthur",male,30,1,0,A/5. 3336,16.1,,S
255,0,3,"Rosblom, Mrs. Viktor (Helena Wilhelmina)",female,41,0,2,370129,20.2125,,S
256,1,3,"Touma, Mrs. Darwis (Hanne Youssef Razi)",female,29,0,2,2650,15.2458,,C
257,1,1,"Thorne, Mrs. Gertrude Maybelle",female,,0,0,PC 17585,79.2,,C
258,1,1,"Cherry, Miss. Gladys",female,30,0,0,110152,86.5,B77,S
259,1,1,"Ward, Miss. Anna",female,35,0,0,PC 17755,512.3292,,C
260,1,2,"Parrish, Mrs. (Lutie Davis)",female,50,0,1,230433,26,,S
261,0,3,"Smith, Mr. Thomas",male,,0,0,384461,7.75,,Q
262,1,3,"Asplund, Master. Edvin Rojj Felix",male,3,4,2,347077,31.3875,,S
263,0,1,"Taussig, Mr. Emil",male,52,1,1,110413,79.65,E67,S
264,0,1,"Harrison, Mr. William",male,40,0,0,112059,0,B94,S
265,0,3,"Henry, Miss. Delia",female,,0,0,382649,7.75,,Q
266,0,2,"Reeves, Mr. David",male,36,0,0,C.A. 17248,10.5,,S
267,0,3,"Panula, Mr. Ernesti Arvid",male,16,4,1,3101295,39.6875,,S
268,1,3,"Persson, Mr. Ernst Ulrik",male,25,1,0,347083,7.775,,S
269,1,1,"Graham, Mrs. William Thompson (Edith Junkins)",female,58,0,1,PC 17582,153.4625,C125,S
270,1,1,"Bissette, Miss. Amelia",female,35,0,0,PC 17760,135.6333,C99,S
271,0,1,"Cairns, Mr. Alexander",male,,0,0,113798,31,,S
272,1,3,"Tornquist, Mr. William Henry",male,25,0,0,LINE,0,,S
273,1,2,"Mellinger, Mrs. (Elizabeth Anne Maidment)",female,41,0,1,250644,19.5,,S
274,0,1,"Natsch, Mr. Charles H",male,37,0,1,PC 17596,29.7,C118,C
275,1,3,"Healy, Miss. Hanora ""Nora""",female,,0,0,370375,7.75,,Q
276,1,1,"Andrews, Miss. Kornelia Theodosia",female,63,1,0,13502,77.9583,D7,S
277,0,3,"Lindblom, Miss. Augusta Charlotta",female,45,0,0,347073,7.75,,S
278,0,2,"Parkes, Mr. Francis ""Frank""",male,,0,0,239853,0,,S
279,0,3,"Rice, Master. Eric",male,7,4,1,382652,29.125,,Q
280,1,3,"Abbott, Mrs. Stanton (Rosa Hunt)",female,35,1,1,C.A. 2673,20.25,,S
281,0,3,"Duane, Mr. Frank",male,65,0,0,336439,7.75,,Q
282,0,3,"Olsson, Mr. Nils Johan Goransson",male,28,0,0,347464,7.8542,,S
283,0,3,"de Pelsmaeker, Mr. Alfons",male,16,0,0,345778,9.5,,S
284,1,3,"Dorking, Mr. Edward Arthur",male,19,0,0,A/5. 10482,8.05,,S
285,0,1,"Smith, Mr. Richard William",male,,0,0,113056,26,A19,S
286,0,3,"Stankovic, Mr. Ivan",male,33,0,0,349239,8.6625,,C
287,1,3,"de Mulder, Mr. Theodore",male,30,0,0,345774,9.5,,S
288,0,3,"Naidenoff, Mr. Penko",male,22,0,0,349206,7.8958,,S
289,1,2,"Hosono, Mr. Masabumi",male,42,0,0,237798,13,,S
290,1,3,"Connolly, Miss. Kate",female,22,0,0,370373,7.75,,Q
291,1,1,"Barber, Miss. Ellen ""Nellie""",female,26,0,0,19877,78.85,,S
292,1,1,"Bishop, Mrs. Dickinson H (Helen Walton)",female,19,1,0,11967,91.0792,B49,C
293,0,2,"Levy, Mr. Rene Jacques",male,36,0,0,SC/Paris 2163,12.875,D,C
294,0,3,"Haas, Miss. Aloisia",female,24,0,0,349236,8.85,,S
295,0,3,"Mineff, Mr. Ivan",male,24,0,0,349233,7.8958,,S
296,0,1,"Lewy, Mr. Ervin G",male,,0,0,PC 17612,27.7208,,C
297,0,3,"Hanna, Mr. Mansour",male,23.5,0,0,2693,7.2292,,C
298,0,1,"Allison, Miss. Helen Loraine",female,2,1,2,113781,151.55,C22 C26,S
299,1,1,"Saalfeld, Mr. Adolphe",male,,0,0,19988,30.5,C106,S
300,1,1,"Baxter, Mrs. James (Helene DeLaudeniere Chaput)",female,50,0,1,PC 17558,247.5208,B58 B60,C
301,1,3,"Kelly, Miss. Anna Katherine ""Annie Kate""",female,,0,0,9234,7.75,,Q
302,1,3,"McCoy, Mr. Bernard",male,,2,0,367226,23.25,,Q
303,0,3,"Johnson, Mr. William Cahoone Jr",male,19,0,0,LINE,0,,S
304,1,2,"Keane, Miss. Nora A",female,,0,0,226593,12.35,E101,Q
305,0,3,"Williams, Mr. Howard Hugh ""Harry""",male,,0,0,A/5 2466,8.05,,S
306,1,1,"Allison, Master. Hudson Trevor",male,0.92,1,2,113781,151.55,C22 C26,S
307,1,1,"Fleming, Miss. Margaret",female,,0,0,17421,110.8833,,C
308,1,1,"Penasco y Castellana, Mrs. Victor de Satode (Maria Josefa Perez de Soto y Vallejo)",female,17,1,0,PC 17758,108.9,C65,C
309,0,2,"Abelson, Mr. Samuel",male,30,1,0,P/PP 3381,24,,C
310,1,1,"Francatelli, Miss. Laura Mabel",female,30,0,0,PC 17485,56.9292,E36,C
311,1,1,"Hays, Miss. Margaret Bechstein",female,24,0,0,11767,83.1583,C54,C
312,1,1,"Ryerson, Miss. Emily Borie",female,18,2,2,PC 17608,262.375,B57 B59 B63 B66,C
313,0,2,"Lahtinen, Mrs. William (Anna Sylfven)",female,26,1,1,250651,26,,S
314,0,3,"Hendekovic, Mr. Ignjac",male,28,0,0,349243,7.8958,,S
315,0,2,"Hart, Mr. Benjamin",male,43,1,1,F.C.C. 13529,26.25,,S
316,1,3,"Nilsson, Miss. Helmina Josefina",female,26,0,0,347470,7.8542,,S
317,1,2,"Kantor, Mrs. Sinai (Miriam Sternin)",female,24,1,0,244367,26,,S
318,0,2,"Moraweck, Dr. Ernest",male,54,0,0,29011,14,,S
319,1,1,"Wick, Miss. Mary Natalie",female,31,0,2,36928,164.8667,C7,S
320,1,1,"Spedden, Mrs. Frederic Oakley (Margaretta Corning Stone)",female,40,1,1,16966,134.5,E34,C
321,0,3,"Dennis, Mr. Samuel",male,22,0,0,A/5 21172,7.25,,S
322,0,3,"Danoff, Mr. Yoto",male,27,0,0,349219,7.8958,,S
323,1,2,"Slayter, Miss. Hilda Mary",female,30,0,0,234818,12.35,,Q
324,1,2,"Caldwell, Mrs. Albert Francis (Sylvia Mae Harbaugh)",female,22,1,1,248738,29,,S
325,0,3,"Sage, Mr. George John Jr",male,,8,2,CA. 2343,69.55,,S
326,1,1,"Young, Miss. Marie Grice",female,36,0,0,PC 17760,135.6333,C32,C
327,0,3,"Nysveen, Mr. Johan Hansen",male,61,0,0,345364,6.2375,,S
328,1,2,"Ball, Mrs. (Ada E Hall)",female,36,0,0,28551,13,D,S
329,1,3,"Goldsmith, Mrs. Frank John (Emily Alice Brown)",female,31,1,1,363291,20.525,,S
330,1,1,"Hippach, Miss. Jean Gertrude",female,16,0,1,111361,57.9792,B18,C
331,1,3,"McCoy, Miss. Agnes",female,,2,0,367226,23.25,,Q
332,0,1,"Partner, Mr. Austen",male,45.5,0,0,113043,28.5,C124,S
333,0,1,"Graham, Mr. George Edward",male,38,0,1,PC 17582,153.4625,C91,S
334,0,3,"Vander Planke, Mr. Leo Edmondus",male,16,2,0,345764,18,,S
335,1,1,"Frauenthal, Mrs. Henry William (Clara Heinsheimer)",female,,1,0,PC 17611,133.65,,S
336,0,3,"Denkoff, Mr. Mitto",male,,0,0,349225,7.8958,,S
337,0,1,"Pears, Mr. Thomas Clinton",male,29,1,0,113776,66.6,C2,S
338,1,1,"Burns, Miss. Elizabeth Margaret",female,41,0,0,16966,134.5,E40,C
339,1,3,"Dahl, Mr. Karl Edwart",male,45,0,0,7598,8.05,,S
340,0,1,"Blackwell, Mr. Stephen Weart",male,45,0,0,113784,35.5,T,S
341,1,2,"Navratil, Master. Edmond Roger",male,2,1,1,230080,26,F2,S
342,1,1,"Fortune, Miss. Alice Elizabeth",female,24,3,2,19950,263,C23 C25 C27,S
343,0,2,"Collander, Mr. Erik Gustaf",male,28,0,0,248740,13,,S
344,0,2,"Sedgwick, Mr. Charles Frederick Waddington",male,25,0,0,244361,13,,S
345,0,2,"Fox, Mr. Stanley Hubert",male,36,0,0,229236,13,,S
346,1,2,"Brown, Miss. Amelia ""Mildred""",female,24,0,0,248733,13,F33,S
347,1,2,"Smith, Miss. Marion Elsie",female,40,0,0,31418,13,,S
348,1,3,"Davison, Mrs. Thomas Henry (Mary E Finck)",female,,1,0,386525,16.1,,S
349,1,3,"Coutts, Master. William Loch ""William""",male,3,1,1,C.A. 37671,15.9,,S
350,0,3,"Dimic, Mr. Jovan",male,42,0,0,315088,8.6625,,S
351,0,3,"Odahl, Mr. Nils Martin",male,23,0,0,7267,9.225,,S
352,0,1,"Williams-Lambert, Mr. Fletcher Fellows",male,,0,0,113510,35,C128,S
353,0,3,"Elias, Mr. Tannous",male,15,1,1,2695,7.2292,,C
354,0,3,"Arnold-Franchi, Mr. Josef",male,25,1,0,349237,17.8,,S
355,0,3,"Yousif, Mr. Wazli",male,,0,0,2647,7.225,,C
356,0,3,"Vanden Steen, Mr. Leo Peter",male,28,0,0,345783,9.5,,S
357,1,1,"Bowerman, Miss. Elsie Edith",female,22,0,1,113505,55,E33,S
358,0,2,"Funk, Miss. Annie Clemmer",female,38,0,0,237671,13,,S
359,1,3,"McGovern, Miss. Mary",female,,0,0,330931,7.8792,,Q
360,1,3,"Mockler, Miss. Helen Mary ""Ellie""",female,,0,0,330980,7.8792,,Q
361,0,3,"Skoog, Mr. Wilhelm",male,40,1,4,347088,27.9,,S
362,0,2,"del Carlo, Mr. Sebastiano",male,29,1,0,SC/PARIS 2167,27.7208,,C
363,0,3,"Barbara, Mrs. (Catherine David)",female,45,0,1,2691,14.4542,,C
364,0,3,"Asim, Mr. Adola",male,35,0,0,SOTON/O.Q. 3101310,7.05,,S
365,0,3,"O'Brien, Mr. Thomas",male,,1,0,370365,15.5,,Q
366,0,3,"Adahl, Mr. Mauritz Nils Martin",male,30,0,0,C 7076,7.25,,S
367,1,1,"Warren, Mrs. Frank Manley (Anna Sophia Atkinson)",female,60,1,0,110813,75.25,D37,C
368,1,3,"Moussa, Mrs. (Mantoura Boulos)",female,,0,0,2626,7.2292,,C
369,1,3,"Jermyn, Miss. Annie",female,,0,0,14313,7.75,,Q
370,1,1,"Aubart, Mme. Leontine Pauline",female,24,0,0,PC 17477,69.3,B35,C
371,1,1,"Harder, Mr. George Achilles",male,25,1,0,11765,55.4417,E50,C
372,0,3,"Wiklund, Mr. Jakob Alfred",male,18,1,0,3101267,6.4958,,S
373,0,3,"Beavan, Mr. William Thomas",male,19,0,0,323951,8.05,,S
374,0,1,"Ringhini, Mr. Sante",male,22,0,0,PC 17760,135.6333,,C
375,0,3,"Palsson, Miss. Stina Viola",female,3,3,1,349909,21.075,,S
376,1,1,"Meyer, Mrs. Edgar Joseph (Leila Saks)",female,,1,0,PC 17604,82.1708,,C
377,1,3,"Landergren, Miss. Aurora Adelia",female,22,0,0,C 7077,7.25,,S
378,0,1,"Widener, Mr. Harry Elkins",male,27,0,2,113503,211.5,C82,C
379,0,3,"Betros, Mr. Tannous",male,20,0,0,2648,4.0125,,C
380,0,3,"Gustafsson, Mr. Karl Gideon",male,19,0,0,347069,7.775,,S
381,1,1,"Bidois, Miss. Rosalie",female,42,0,0,PC 17757,227.525,,C
382,1,3,"Nakid, Miss. Maria (""Mary"")",female,1,0,2,2653,15.7417,,C
383,0,3,"Tikkanen, Mr. Juho",male,32,0,0,STON/O 2. 3101293,7.925,,S
384,1,1,"Holverson, Mrs. Alexander Oskar (Mary Aline Towner)",female,35,1,0,113789,52,,S
385,0,3,"Plotcharsky, Mr. Vasil",male,,0,0,349227,7.8958,,S
386,0,2,"Davies, Mr. Charles Henry",male,18,0,0,S.O.C. 14879,73.5,,S
387,0,3,"Goodwin, Master. Sidney Leonard",male,1,5,2,CA 2144,46.9,,S
388,1,2,"Buss, Miss. Kate",female,36,0,0,27849,13,,S
389,0,3,"Sadlier, Mr. Matthew",male,,0,0,367655,7.7292,,Q
390,1,2,"Lehmann, Miss. Bertha",female,17,0,0,SC 1748,12,,C
391,1,1,"Carter, Mr. William Ernest",male,36,1,2,113760,120,B96 B98,S
392,1,3,"Jansson, Mr. Carl Olof",male,21,0,0,350034,7.7958,,S
393,0,3,"Gustafsson, Mr. Johan Birger",male,28,2,0,3101277,7.925,,S
394,1,1,"Newell, Miss. Marjorie",female,23,1,0,35273,113.275,D36,C
395,1,3,"Sandstrom, Mrs. Hjalmar (Agnes Charlotta Bengtsson)",female,24,0,2,PP 9549,16.7,G6,S
396,0,3,"Johansson, Mr. Erik",male,22,0,0,350052,7.7958,,S
397,0,3,"Olsson, Miss. Elina",female,31,0,0,350407,7.8542,,S
398,0,2,"McKane, Mr. Peter David",male,46,0,0,28403,26,,S
399,0,2,"Pain, Dr. Alfred",male,23,0,0,244278,10.5,,S
400,1,2,"Trout, Mrs. William H (Jessie L)",female,28,0,0,240929,12.65,,S
401,1,3,"Niskanen, Mr. Juha",male,39,0,0,STON/O 2. 3101289,7.925,,S
402,0,3,"Adams, Mr. John",male,26,0,0,341826,8.05,,S
403,0,3,"Jussila, Miss. Mari Aina",female,21,1,0,4137,9.825,,S
404,0,3,"Hakkarainen, Mr. Pekka Pietari",male,28,1,0,STON/O2. 3101279,15.85,,S
405,0,3,"Oreskovic, Miss. Marija",female,20,0,0,315096,8.6625,,S
406,0,2,"Gale, Mr. Shadrach",male,34,1,0,28664,21,,S
407,0,3,"Widegren, Mr. Carl/Charles Peter",male,51,0,0,347064,7.75,,S
408,1,2,"Richards, Master. William Rowe",male,3,1,1,29106,18.75,,S
409,0,3,"Birkeland, Mr. Hans Martin Monsen",male,21,0,0,312992,7.775,,S
410,0,3,"Lefebre, Miss. Ida",female,,3,1,4133,25.4667,,S
411,0,3,"Sdycoff, Mr. Todor",male,,0,0,349222,7.8958,,S
412,0,3,"Hart, Mr. Henry",male,,0,0,394140,6.8583,,Q
413,1,1,"Minahan, Miss. Daisy E",female,33,1,0,19928,90,C78,Q
414,0,2,"Cunningham, Mr. Alfred Fleming",male,,0,0,239853,0,,S
415,1,3,"Sundman, Mr. Johan Julian",male,44,0,0,STON/O 2. 3101269,7.925,,S
416,0,3,"Meek, Mrs. Thomas (Annie Louise Rowley)",female,,0,0,343095,8.05,,S
417,1,2,"Drew, Mrs. James Vivian (Lulu Thorne Christian)",female,34,1,1,28220,32.5,,S
418,1,2,"Silven, Miss. Lyyli Karoliina",female,18,0,2,250652,13,,S
419,0,2,"Matthews, Mr. William John",male,30,0,0,28228,13,,S
420,0,3,"Van Impe, Miss. Catharina",female,10,0,2,345773,24.15,,S
421,0,3,"Gheorgheff, Mr. Stanio",male,,0,0,349254,7.8958,,C
422,0,3,"Charters, Mr. David",male,21,0,0,A/5. 13032,7.7333,,Q
423,0,3,"Zimmerman, Mr. Leo",male,29,0,0,315082,7.875,,S
424,0,3,"Danbom, Mrs. Ernst Gilbert (Anna Sigrid Maria Brogren)",female,28,1,1,347080,14.4,,S
425,0,3,"Rosblom, Mr. Viktor Richard",male,18,1,1,370129,20.2125,,S
426,0,3,"Wiseman, Mr. Phillippe",male,,0,0,A/4. 34244,7.25,,S
427,1,2,"Clarke, Mrs. Charles V (Ada Maria Winfield)",female,28,1,0,2003,26,,S
428,1,2,"Phillips, Miss. Kate Florence (""Mrs Kate Louise Phillips Marshall"")",female,19,0,0,250655,26,,S
429,0,3,"Flynn, Mr. James",male,,0,0,364851,7.75,,Q
430,1,3,"Pickard, Mr. Berk (Berk Trembisky)",male,32,0,0,SOTON/O.Q. 392078,8.05,E10,S
431,1,1,"Bjornstrom-Steffansson, Mr. Mauritz Hakan",male,28,0,0,110564,26.55,C52,S
432,1,3,"Thorneycroft, Mrs. Percival (Florence Kate White)",female,,1,0,376564,16.1,,S
433,1,2,"Louch, Mrs. Charles Alexander (Alice Adelaide Slow)",female,42,1,0,SC/AH 3085,26,,S
434,0,3,"Kallio, Mr. Nikolai Erland",male,17,0,0,STON/O 2. 3101274,7.125,,S
435,0,1,"Silvey, Mr. William Baird",male,50,1,0,13507,55.9,E44,S
436,1,1,"Carter, Miss. Lucile Polk",female,14,1,2,113760,120,B96 B98,S
437,0,3,"Ford, Miss. Doolina Margaret ""Daisy""",female,21,2,2,W./C. 6608,34.375,,S
438,1,2,"Richards, Mrs. Sidney (Emily Hocking)",female,24,2,3,29106,18.75,,S
439,0,1,"Fortune, Mr. Mark",male,64,1,4,19950,263,C23 C25 C27,S
440,0,2,"Kvillner, Mr. Johan Henrik Johannesson",male,31,0,0,C.A. 18723,10.5,,S
441,1,2,"Hart, Mrs. Benjamin (Esther Ada Bloomfield)",female,45,1,1,F.C.C. 13529,26.25,,S
442,0,3,"Hampe, Mr. Leon",male,20,0,0,345769,9.5,,S
443,0,3,"Petterson, Mr. Johan Emil",male,25,1,0,347076,7.775,,S
444,1,2,"Reynaldo, Ms. Encarnacion",female,28,0,0,230434,13,,S
445,1,3,"Johannesen-Bratthammer, Mr. Bernt",male,,0,0,65306,8.1125,,S
446,1,1,"Dodge, Master. Washington",male,4,0,2,33638,81.8583,A34,S
447,1,2,"Mellinger, Miss. Madeleine Violet",female,13,0,1,250644,19.5,,S
448,1,1,"Seward, Mr. Frederic Kimber",male,34,0,0,113794,26.55,,S
449,1,3,"Baclini, Miss. Marie Catherine",female,5,2,1,2666,19.2583,,C
450,1,1,"Peuchen, Major. Arthur Godfrey",male,52,0,0,113786,30.5,C104,S
451,0,2,"West, Mr. Edwy Arthur",male,36,1,2,C.A. 34651,27.75,,S
452,0,3,"Hagland, Mr. Ingvald Olai Olsen",male,,1,0,65303,19.9667,,S
453,0,1,"Foreman, Mr. Benjamin Laventall",male,30,0,0,113051,27.75,C111,C
454,1,1,"Goldenberg, Mr. Samuel L",male,49,1,0,17453,89.1042,C92,C
455,0,3,"Peduzzi, Mr. Joseph",male,,0,0,A/5 2817,8.05,,S
456,1,3,"Jalsevac, Mr. Ivan",male,29,0,0,349240,7.8958,,C
457,0,1,"Millet, Mr. Francis Davis",male,65,0,0,13509,26.55,E38,S
458,1,1,"Kenyon, Mrs. Frederick R (Marion)",female,,1,0,17464,51.8625,D21,S
459,1,2,"Toomey, Miss. Ellen",female,50,0,0,F.C.C. 13531,10.5,,S
460,0,3,"O'Connor, Mr. Maurice",male,,0,0,371060,7.75,,Q
461,1,1,"Anderson, Mr. Harry",male,48,0,0,19952,26.55,E12,S
462,0,3,"Morley, Mr. William",male,34,0,0,364506,8.05,,S
463,0,1,"Gee, Mr. Arthur H",male,47,0,0,111320,38.5,E63,S
464,0,2,"Milling, Mr. Jacob Christian",male,48,0,0,234360,13,,S
465,0,3,"Maisner, Mr. Simon",male,,0,0,A/S 2816,8.05,,S
466,0,3,"Goncalves, Mr. Manuel Estanslas",male,38,0,0,SOTON/O.Q. 3101306,7.05,,S
467,0,2,"Campbell, Mr. William",male,,0,0,239853,0,,S
468,0,1,"Smart, Mr. John Montgomery",male,56,0,0,113792,26.55,,S
469,0,3,"Scanlan, Mr. James",male,,0,0,36209,7.725,,Q
470,1,3,"Baclini, Miss. Helene Barbara",female,0.75,2,1,2666,19.2583,,C
471,0,3,"Keefe, Mr. Arthur",male,,0,0,323592,7.25,,S
472,0,3,"Cacic, Mr. Luka",male,38,0,0,315089,8.6625,,S
473,1,2,"West, Mrs. Edwy Arthur (Ada Mary Worth)",female,33,1,2,C.A. 34651,27.75,,S
474,1,2,"Jerwan, Mrs. Amin S (Marie Marthe Thuillard)",female,23,0,0,SC/AH Basle 541,13.7917,D,C
475,0,3,"Strandberg, Miss. Ida Sofia",female,22,0,0,7553,9.8375,,S
476,0,1,"Clifford, Mr. George Quincy",male,,0,0,110465,52,A14,S
477,0,2,"Renouf, Mr. Peter Henry",male,34,1,0,31027,21,,S
478,0,3,"Braund, Mr. Lewis Richard",male,29,1,0,3460,7.0458,,S
479,0,3,"Karlsson, Mr. Nils August",male,22,0,0,350060,7.5208,,S
480,1,3,"Hirvonen, Miss. Hildur E",female,2,0,1,3101298,12.2875,,S
481,0,3,"Goodwin, Master. Harold Victor",male,9,5,2,CA 2144,46.9,,S
482,0,2,"Frost, Mr. Anthony Wood ""Archie""",male,,0,0,239854,0,,S
483,0,3,"Rouse, Mr. Richard Henry",male,50,0,0,A/5 3594,8.05,,S
484,1,3,"Turkula, Mrs. (Hedwig)",female,63,0,0,4134,9.5875,,S
485,1,1,"Bishop, Mr. Dickinson H",male,25,1,0,11967,91.0792,B49,C
486,0,3,"Lefebre, Miss. Jeannie",female,,3,1,4133,25.4667,,S
487,1,1,"Hoyt, Mrs. Frederick Maxfield (Jane Anne Forby)",female,35,1,0,19943,90,C93,S
488,0,1,"Kent, Mr. Edward Austin",male,58,0,0,11771,29.7,B37,C
489,0,3,"Somerton, Mr. Francis William",male,30,0,0,A.5. 18509,8.05,,S
490,1,3,"Coutts, Master. Eden Leslie ""Neville""",male,9,1,1,C.A. 37671,15.9,,S
491,0,3,"Hagland, Mr. Konrad Mathias Reiersen",male,,1,0,65304,19.9667,,S
492,0,3,"Windelov, Mr. Einar",male,21,0,0,SOTON/OQ 3101317,7.25,,S
493,0,1,"Molson, Mr. Harry Markland",male,55,0,0,113787,30.5,C30,S
494,0,1,"Artagaveytia, Mr. Ramon",male,71,0,0,PC 17609,49.5042,,C
495,0,3,"Stanley, Mr. Edward Roland",male,21,0,0,A/4 45380,8.05,,S
496,0,3,"Yousseff, Mr. Gerious",male,,0,0,2627,14.4583,,C
497,1,1,"Eustis, Miss. Elizabeth Mussey",female,54,1,0,36947,78.2667,D20,C
498,0,3,"Shellard, Mr. Frederick William",male,,0,0,C.A. 6212,15.1,,S
499,0,1,"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)",female,25,1,2,113781,151.55,C22 C26,S
500,0,3,"Svensson, Mr. Olof",male,24,0,0,350035,7.7958,,S
501,0,3,"Calic, Mr. Petar",male,17,0,0,315086,8.6625,,S
502,0,3,"Canavan, Miss. Mary",female,21,0,0,364846,7.75,,Q
503,0,3,"O'Sullivan, Miss. Bridget Mary",female,,0,0,330909,7.6292,,Q
504,0,3,"Laitinen, Miss. Kristina Sofia",female,37,0,0,4135,9.5875,,S
505,1,1,"Maioni, Miss. Roberta",female,16,0,0,110152,86.5,B79,S
506,0,1,"Penasco y Castellana, Mr. Victor de Satode",male,18,1,0,PC 17758,108.9,C65,C
507,1,2,"Quick, Mrs. Frederick Charles (Jane Richards)",female,33,0,2,26360,26,,S
508,1,1,"Bradley, Mr. George (""George Arthur Brayton"")",male,,0,0,111427,26.55,,S
509,0,3,"Olsen, Mr. Henry Margido",male,28,0,0,C 4001,22.525,,S
510,1,3,"Lang, Mr. Fang",male,26,0,0,1601,56.4958,,S
511,1,3,"Daly, Mr. Eugene Patrick",male,29,0,0,382651,7.75,,Q
512,0,3,"Webber, Mr. James",male,,0,0,SOTON/OQ 3101316,8.05,,S
513,1,1,"McGough, Mr. James Robert",male,36,0,0,PC 17473,26.2875,E25,S
514,1,1,"Rothschild, Mrs. Martin (Elizabeth L. Barrett)",female,54,1,0,PC 17603,59.4,,C
515,0,3,"Coleff, Mr. Satio",male,24,0,0,349209,7.4958,,S
516,0,1,"Walker, Mr. William Anderson",male,47,0,0,36967,34.0208,D46,S
517,1,2,"Lemore, Mrs. (Amelia Milley)",female,34,0,0,C.A. 34260,10.5,F33,S
518,0,3,"Ryan, Mr. Patrick",male,,0,0,371110,24.15,,Q
519,1,2,"Angle, Mrs. William A (Florence ""Mary"" Agnes Hughes)",female,36,1,0,226875,26,,S
520,0,3,"Pavlovic, Mr. Stefo",male,32,0,0,349242,7.8958,,S
521,1,1,"Perreault, Miss. Anne",female,30,0,0,12749,93.5,B73,S
522,0,3,"Vovk, Mr. Janko",male,22,0,0,349252,7.8958,,S
523,0,3,"Lahoud, Mr. Sarkis",male,,0,0,2624,7.225,,C
524,1,1,"Hippach, Mrs. Louis Albert (Ida Sophia Fischer)",female,44,0,1,111361,57.9792,B18,C
525,0,3,"Kassem, Mr. Fared",male,,0,0,2700,7.2292,,C
526,0,3,"Farrell, Mr. James",male,40.5,0,0,367232,7.75,,Q
527,1,2,"Ridsdale, Miss. Lucy",female,50,0,0,W./C. 14258,10.5,,S
528,0,1,"Farthing, Mr. John",male,,0,0,PC 17483,221.7792,C95,S
529,0,3,"Salonen, Mr. Johan Werner",male,39,0,0,3101296,7.925,,S
530,0,2,"Hocking, Mr. Richard George",male,23,2,1,29104,11.5,,S
531,1,2,"Quick, Miss. Phyllis May",female,2,1,1,26360,26,,S
532,0,3,"Toufik, Mr. Nakli",male,,0,0,2641,7.2292,,C
533,0,3,"Elias, Mr. Joseph Jr",male,17,1,1,2690,7.2292,,C
534,1,3,"Peter, Mrs. Catherine (Catherine Rizk)",female,,0,2,2668,22.3583,,C
535,0,3,"Cacic, Miss. Marija",female,30,0,0,315084,8.6625,,S
536,1,2,"Hart, Miss. Eva Miriam",female,7,0,2,F.C.C. 13529,26.25,,S
537,0,1,"Butt, Major. Archibald Willingham",male,45,0,0,113050,26.55,B38,S
538,1,1,"LeRoy, Miss. Bertha",female,30,0,0,PC 17761,106.425,,C
539,0,3,"Risien, Mr. Samuel Beard",male,,0,0,364498,14.5,,S
540,1,1,"Frolicher, Miss. Hedwig Margaritha",female,22,0,2,13568,49.5,B39,C
541,1,1,"Crosby, Miss. Harriet R",female,36,0,2,WE/P 5735,71,B22,S
542,0,3,"Andersson, Miss. Ingeborg Constanzia",female,9,4,2,347082,31.275,,S
543,0,3,"Andersson, Miss. Sigrid Elisabeth",female,11,4,2,347082,31.275,,S
544,1,2,"Beane, Mr. Edward",male,32,1,0,2908,26,,S
545,0,1,"Douglas, Mr. Walter Donald",male,50,1,0,PC 17761,106.425,C86,C
546,0,1,"Nicholson, Mr. Arthur Ernest",male,64,0,0,693,26,,S
547,1,2,"Beane, Mrs. Edward (Ethel Clarke)",female,19,1,0,2908,26,,S
548,1,2,"Padro y Manent, Mr. Julian",male,,0,0,SC/PARIS 2146,13.8625,,C
549,0,3,"Goldsmith, Mr. Frank John",male,33,1,1,363291,20.525,,S
550,1,2,"Davies, Master. John Morgan Jr",male,8,1,1,C.A. 33112,36.75,,S
551,1,1,"Thayer, Mr. John Borland Jr",male,17,0,2,17421,110.8833,C70,C
552,0,2,"Sharp, Mr. Percival James R",male,27,0,0,244358,26,,S
553,0,3,"O'Brien, Mr. Timothy",male,,0,0,330979,7.8292,,Q
554,1,3,"Leeni, Mr. Fahim (""Philip Zenni"")",male,22,0,0,2620,7.225,,C
555,1,3,"Ohman, Miss. Velin",female,22,0,0,347085,7.775,,S
556,0,1,"Wright, Mr. George",male,62,0,0,113807,26.55,,S
557,1,1,"Duff Gordon, Lady. (Lucille Christiana Sutherland) (""Mrs Morgan"")",female,48,1,0,11755,39.6,A16,C
558,0,1,"Robbins, Mr. Victor",male,,0,0,PC 17757,227.525,,C
559,1,1,"Taussig, Mrs. Emil (Tillie Mandelbaum)",female,39,1,1,110413,79.65,E67,S
560,1,3,"de Messemaeker, Mrs. Guillaume Joseph (Emma)",female,36,1,0,345572,17.4,,S
561,0,3,"Morrow, Mr. Thomas Rowan",male,,0,0,372622,7.75,,Q
562,0,3,"Sivic, Mr. Husein",male,40,0,0,349251,7.8958,,S
563,0,2,"Norman, Mr. Robert Douglas",male,28,0,0,218629,13.5,,S
564,0,3,"Simmons, Mr. John",male,,0,0,SOTON/OQ 392082,8.05,,S
565,0,3,"Meanwell, Miss. (Marion Ogden)",female,,0,0,SOTON/O.Q. 392087,8.05,,S
566,0,3,"Davies, Mr. Alfred J",male,24,2,0,A/4 48871,24.15,,S
567,0,3,"Stoytcheff, Mr. Ilia",male,19,0,0,349205,7.8958,,S
568,0,3,"Palsson, Mrs. Nils (Alma Cornelia Berglund)",female,29,0,4,349909,21.075,,S
569,0,3,"Doharr, Mr. Tannous",male,,0,0,2686,7.2292,,C
570,1,3,"Jonsson, Mr. Carl",male,32,0,0,350417,7.8542,,S
571,1,2,"Harris, Mr. George",male,62,0,0,S.W./PP 752,10.5,,S
572,1,1,"Appleton, Mrs. Edward Dale (Charlotte Lamson)",female,53,2,0,11769,51.4792,C101,S
573,1,1,"Flynn, Mr. John Irwin (""Irving"")",male,36,0,0,PC 17474,26.3875,E25,S
574,1,3,"Kelly, Miss. Mary",female,,0,0,14312,7.75,,Q
575,0,3,"Rush, Mr. Alfred George John",male,16,0,0,A/4. 20589,8.05,,S
576,0,3,"Patchett, Mr. George",male,19,0,0,358585,14.5,,S
577,1,2,"Garside, Miss. Ethel",female,34,0,0,243880,13,,S
578,1,1,"Silvey, Mrs. William Baird (Alice Munger)",female,39,1,0,13507,55.9,E44,S
579,0,3,"Caram, Mrs. Joseph (Maria Elias)",female,,1,0,2689,14.4583,,C
580,1,3,"Jussila, Mr. Eiriik",male,32,0,0,STON/O 2. 3101286,7.925,,S
581,1,2,"Christy, Miss. Julie Rachel",female,25,1,1,237789,30,,S
582,1,1,"Thayer, Mrs. John Borland (Marian Longstreth Morris)",female,39,1,1,17421,110.8833,C68,C
583,0,2,"Downton, Mr. William James",male,54,0,0,28403,26,,S
584,0,1,"Ross, Mr. John Hugo",male,36,0,0,13049,40.125,A10,C
585,0,3,"Paulner, Mr. Uscher",male,,0,0,3411,8.7125,,C
586,1,1,"Taussig, Miss. Ruth",female,18,0,2,110413,79.65,E68,S
587,0,2,"Jarvis, Mr. John Denzil",male,47,0,0,237565,15,,S
588,1,1,"Frolicher-Stehli, Mr. Maxmillian",male,60,1,1,13567,79.2,B41,C
589,0,3,"Gilinski, Mr. Eliezer",male,22,0,0,14973,8.05,,S
590,0,3,"Murdlin, Mr. Joseph",male,,0,0,A./5. 3235,8.05,,S
591,0,3,"Rintamaki, Mr. Matti",male,35,0,0,STON/O 2. 3101273,7.125,,S
592,1,1,"Stephenson, Mrs. Walter Bertram (Martha Eustis)",female,52,1,0,36947,78.2667,D20,C
593,0,3,"Elsbury, Mr. William James",male,47,0,0,A/5 3902,7.25,,S
594,0,3,"Bourke, Miss. Mary",female,,0,2,364848,7.75,,Q
595,0,2,"Chapman, Mr. John Henry",male,37,1,0,SC/AH 29037,26,,S
596,0,3,"Van Impe, Mr. Jean Baptiste",male,36,1,1,345773,24.15,,S
597,1,2,"Leitch, Miss. Jessie Wills",female,,0,0,248727,33,,S
598,0,3,"Johnson, Mr. Alfred",male,49,0,0,LINE,0,,S
599,0,3,"Boulos, Mr. Hanna",male,,0,0,2664,7.225,,C
600,1,1,"Duff Gordon, Sir. Cosmo Edmund (""Mr Morgan"")",male,49,1,0,PC 17485,56.9292,A20,C
601,1,2,"Jacobsohn, Mrs. Sidney Samuel (Amy Frances Christy)",female,24,2,1,243847,27,,S
602,0,3,"Slabenoff, Mr. Petco",male,,0,0,349214,7.8958,,S
603,0,1,"Harrington, Mr. Charles H",male,,0,0,113796,42.4,,S
604,0,3,"Torber, Mr. Ernst William",male,44,0,0,364511,8.05,,S
605,1,1,"Homer, Mr. Harry (""Mr E Haven"")",male,35,0,0,111426,26.55,,C
606,0,3,"Lindell, Mr. Edvard Bengtsson",male,36,1,0,349910,15.55,,S
607,0,3,"Karaic, Mr. Milan",male,30,0,0,349246,7.8958,,S
608,1,1,"Daniel, Mr. Robert Williams",male,27,0,0,113804,30.5,,S
609,1,2,"Laroche, Mrs. Joseph (Juliette Marie Louise Lafargue)",female,22,1,2,SC/Paris 2123,41.5792,,C
610,1,1,"Shutes, Miss. Elizabeth W",female,40,0,0,PC 17582,153.4625,C125,S
611,0,3,"Andersson, Mrs. Anders Johan (Alfrida Konstantia Brogren)",female,39,1,5,347082,31.275,,S
612,0,3,"Jardin, Mr. Jose Neto",male,,0,0,SOTON/O.Q. 3101305,7.05,,S
613,1,3,"Murphy, Miss. Margaret Jane",female,,1,0,367230,15.5,,Q
614,0,3,"Horgan, Mr. John",male,,0,0,370377,7.75,,Q
615,0,3,"Brocklebank, Mr. William Alfred",male,35,0,0,364512,8.05,,S
616,1,2,"Herman, Miss. Alice",female,24,1,2,220845,65,,S
617,0,3,"Danbom, Mr. Ernst Gilbert",male,34,1,1,347080,14.4,,S
618,0,3,"Lobb, Mrs. William Arthur (Cordelia K Stanlick)",female,26,1,0,A/5. 3336,16.1,,S
619,1,2,"Becker, Miss. Marion Louise",female,4,2,1,230136,39,F4,S
620,0,2,"Gavey, Mr. Lawrence",male,26,0,0,31028,10.5,,S
621,0,3,"Yasbeck, Mr. Antoni",male,27,1,0,2659,14.4542,,C
622,1,1,"Kimball, Mr. Edwin Nelson Jr",male,42,1,0,11753,52.5542,D19,S
623,1,3,"Nakid, Mr. Sahid",male,20,1,1,2653,15.7417,,C
624,0,3,"Hansen, Mr. Henry Damsgaard",male,21,0,0,350029,7.8542,,S
625,0,3,"Bowen, Mr. David John ""Dai""",male,21,0,0,54636,16.1,,S
626,0,1,"Sutton, Mr. Frederick",male,61,0,0,36963,32.3208,D50,S
627,0,2,"Kirkland, Rev. Charles Leonard",male,57,0,0,219533,12.35,,Q
628,1,1,"Longley, Miss. Gretchen Fiske",female,21,0,0,13502,77.9583,D9,S
629,0,3,"Bostandyeff, Mr. Guentcho",male,26,0,0,349224,7.8958,,S
630,0,3,"O'Connell, Mr. Patrick D",male,,0,0,334912,7.7333,,Q
631,1,1,"Barkworth, Mr. Algernon Henry Wilson",male,80,0,0,27042,30,A23,S
632,0,3,"Lundahl, Mr. Johan Svensson",male,51,0,0,347743,7.0542,,S
633,1,1,"Stahelin-Maeglin, Dr. Max",male,32,0,0,13214,30.5,B50,C
634,0,1,"Parr, Mr. William Henry Marsh",male,,0,0,112052,0,,S
635,0,3,"Skoog, Miss. Mabel",female,9,3,2,347088,27.9,,S
636,1,2,"Davis, Miss. Mary",female,28,0,0,237668,13,,S
637,0,3,"Leinonen, Mr. Antti Gustaf",male,32,0,0,STON/O 2. 3101292,7.925,,S
638,0,2,"Collyer, Mr. Harvey",male,31,1,1,C.A. 31921,26.25,,S
639,0,3,"Panula, Mrs. Juha (Maria Emilia Ojala)",female,41,0,5,3101295,39.6875,,S
640,0,3,"Thorneycroft, Mr. Percival",male,,1,0,376564,16.1,,S
641,0,3,"Jensen, Mr. Hans Peder",male,20,0,0,350050,7.8542,,S
642,1,1,"Sagesser, Mlle. Emma",female,24,0,0,PC 17477,69.3,B35,C
643,0,3,"Skoog, Miss. Margit Elizabeth",female,2,3,2,347088,27.9,,S
644,1,3,"Foo, Mr. Choong",male,,0,0,1601,56.4958,,S
645,1,3,"Baclini, Miss. Eugenie",female,0.75,2,1,2666,19.2583,,C
646,1,1,"Harper, Mr. Henry Sleeper",male,48,1,0,PC 17572,76.7292,D33,C
647,0,3,"Cor, Mr. Liudevit",male,19,0,0,349231,7.8958,,S
648,1,1,"Simonius-Blumer, Col. Oberst Alfons",male,56,0,0,13213,35.5,A26,C
649,0,3,"Willey, Mr. Edward",male,,0,0,S.O./P.P. 751,7.55,,S
650,1,3,"Stanley, Miss. Amy Zillah Elsie",female,23,0,0,CA. 2314,7.55,,S
651,0,3,"Mitkoff, Mr. Mito",male,,0,0,349221,7.8958,,S
652,1,2,"Doling, Miss. Elsie",female,18,0,1,231919,23,,S
653,0,3,"Kalvik, Mr. Johannes Halvorsen",male,21,0,0,8475,8.4333,,S
654,1,3,"O'Leary, Miss. Hanora ""Norah""",female,,0,0,330919,7.8292,,Q
655,0,3,"Hegarty, Miss. Hanora ""Nora""",female,18,0,0,365226,6.75,,Q
656,0,2,"Hickman, Mr. Leonard Mark",male,24,2,0,S.O.C. 14879,73.5,,S
657,0,3,"Radeff, Mr. Alexander",male,,0,0,349223,7.8958,,S
658,0,3,"Bourke, Mrs. John (Catherine)",female,32,1,1,364849,15.5,,Q
659,0,2,"Eitemiller, Mr. George Floyd",male,23,0,0,29751,13,,S
660,0,1,"Newell, Mr. Arthur Webster",male,58,0,2,35273,113.275,D48,C
661,1,1,"Frauenthal, Dr. Henry William",male,50,2,0,PC 17611,133.65,,S
662,0,3,"Badt, Mr. Mohamed",male,40,0,0,2623,7.225,,C
663,0,1,"Colley, Mr. Edward Pomeroy",male,47,0,0,5727,25.5875,E58,S
664,0,3,"Coleff, Mr. Peju",male,36,0,0,349210,7.4958,,S
665,1,3,"Lindqvist, Mr. Eino William",male,20,1,0,STON/O 2. 3101285,7.925,,S
666,0,2,"Hickman, Mr. Lewis",male,32,2,0,S.O.C. 14879,73.5,,S
667,0,2,"Butler, Mr. Reginald Fenton",male,25,0,0,234686,13,,S
668,0,3,"Rommetvedt, Mr. Knud Paust",male,,0,0,312993,7.775,,S
669,0,3,"Cook, Mr. Jacob",male,43,0,0,A/5 3536,8.05,,S
670,1,1,"Taylor, Mrs. Elmer Zebley (Juliet Cummins Wright)",female,,1,0,19996,52,C126,S
671,1,2,"Brown, Mrs. Thomas William Solomon (Elizabeth Catherine Ford)",female,40,1,1,29750,39,,S
672,0,1,"Davidson, Mr. Thornton",male,31,1,0,F.C. 12750,52,B71,S
673,0,2,"Mitchell, Mr. Henry Michael",male,70,0,0,C.A. 24580,10.5,,S
674,1,2,"Wilhelms, Mr. Charles",male,31,0,0,244270,13,,S
675,0,2,"Watson, Mr. Ennis Hastings",male,,0,0,239856,0,,S
676,0,3,"Edvardsson, Mr. Gustaf Hjalmar",male,18,0,0,349912,7.775,,S
677,0,3,"Sawyer, Mr. Frederick Charles",male,24.5,0,0,342826,8.05,,S
678,1,3,"Turja, Miss. Anna Sofia",female,18,0,0,4138,9.8417,,S
679,0,3,"Goodwin, Mrs. Frederick (Augusta Tyler)",female,43,1,6,CA 2144,46.9,,S
680,1,1,"Cardeza, Mr. Thomas Drake Martinez",male,36,0,1,PC 17755,512.3292,B51 B53 B55,C
681,0,3,"Peters, Miss. Katie",female,,0,0,330935,8.1375,,Q
682,1,1,"Hassab, Mr. Hammad",male,27,0,0,PC 17572,76.7292,D49,C
683,0,3,"Olsvigen, Mr. Thor Anderson",male,20,0,0,6563,9.225,,S
684,0,3,"Goodwin, Mr. Charles Edward",male,14,5,2,CA 2144,46.9,,S
685,0,2,"Brown, Mr. Thomas William Solomon",male,60,1,1,29750,39,,S
686,0,2,"Laroche, Mr. Joseph Philippe Lemercier",male,25,1,2,SC/Paris 2123,41.5792,,C
687,0,3,"Panula, Mr. Jaako Arnold",male,14,4,1,3101295,39.6875,,S
688,0,3,"Dakic, Mr. Branko",male,19,0,0,349228,10.1708,,S
689,0,3,"Fischer, Mr. Eberhard Thelander",male,18,0,0,350036,7.7958,,S
690,1,1,"Madill, Miss. Georgette Alexandra",female,15,0,1,24160,211.3375,B5,S
691,1,1,"Dick, Mr. Albert Adrian",male,31,1,0,17474,57,B20,S
692,1,3,"Karun, Miss. Manca",female,4,0,1,349256,13.4167,,C
693,1,3,"Lam, Mr. Ali",male,,0,0,1601,56.4958,,S
694,0,3,"Saad, Mr. Khalil",male,25,0,0,2672,7.225,,C
695,0,1,"Weir, Col. John",male,60,0,0,113800,26.55,,S
696,0,2,"Chapman, Mr. Charles Henry",male,52,0,0,248731,13.5,,S
697,0,3,"Kelly, Mr. James",male,44,0,0,363592,8.05,,S
698,1,3,"Mullens, Miss. Katherine ""Katie""",female,,0,0,35852,7.7333,,Q
699,0,1,"Thayer, Mr. John Borland",male,49,1,1,17421,110.8833,C68,C
700,0,3,"Humblen, Mr. Adolf Mathias Nicolai Olsen",male,42,0,0,348121,7.65,F G63,S
701,1,1,"Astor, Mrs. John Jacob (Madeleine Talmadge Force)",female,18,1,0,PC 17757,227.525,C62 C64,C
702,1,1,"Silverthorne, Mr. Spencer Victor",male,35,0,0,PC 17475,26.2875,E24,S
703,0,3,"Barbara, Miss. Saiide",female,18,0,1,2691,14.4542,,C
704,0,3,"Gallagher, Mr. Martin",male,25,0,0,36864,7.7417,,Q
705,0,3,"Hansen, Mr. Henrik Juul",male,26,1,0,350025,7.8542,,S
706,0,2,"Morley, Mr. Henry Samuel (""Mr Henry Marshall"")",male,39,0,0,250655,26,,S
707,1,2,"Kelly, Mrs. Florence ""Fannie""",female,45,0,0,223596,13.5,,S
708,1,1,"Calderhead, Mr. Edward Pennington",male,42,0,0,PC 17476,26.2875,E24,S
709,1,1,"Cleaver, Miss. Alice",female,22,0,0,113781,151.55,,S
710,1,3,"Moubarek, Master. Halim Gonios (""William George"")",male,,1,1,2661,15.2458,,C
711,1,1,"Mayne, Mlle. Berthe Antonine (""Mrs de Villiers"")",female,24,0,0,PC 17482,49.5042,C90,C
712,0,1,"Klaber, Mr. Herman",male,,0,0,113028,26.55,C124,S
713,1,1,"Taylor, Mr. Elmer Zebley",male,48,1,0,19996,52,C126,S
714,0,3,"Larsson, Mr. August Viktor",male,29,0,0,7545,9.4833,,S
715,0,2,"Greenberg, Mr. Samuel",male,52,0,0,250647,13,,S
716,0,3,"Soholt, Mr. Peter Andreas Lauritz Andersen",male,19,0,0,348124,7.65,F G73,S
717,1,1,"Endres, Miss. Caroline Louise",female,38,0,0,PC 17757,227.525,C45,C
718,1,2,"Troutt, Miss. Edwina Celia ""Winnie""",female,27,0,0,34218,10.5,E101,S
719,0,3,"McEvoy, Mr. Michael",male,,0,0,36568,15.5,,Q
720,0,3,"Johnson, Mr. Malkolm Joackim",male,33,0,0,347062,7.775,,S
721,1,2,"Harper, Miss. Annie Jessie ""Nina""",female,6,0,1,248727,33,,S
722,0,3,"Jensen, Mr. Svend Lauritz",male,17,1,0,350048,7.0542,,S
723,0,2,"Gillespie, Mr. William Henry",male,34,0,0,12233,13,,S
724,0,2,"Hodges, Mr. Henry Price",male,50,0,0,250643,13,,S
725,1,1,"Chambers, Mr. Norman Campbell",male,27,1,0,113806,53.1,E8,S
726,0,3,"Oreskovic, Mr. Luka",male,20,0,0,315094,8.6625,,S
727,1,2,"Renouf, Mrs. Peter Henry (Lillian Jefferys)",female,30,3,0,31027,21,,S
728,1,3,"Mannion, Miss. Margareth",female,,0,0,36866,7.7375,,Q
729,0,2,"Bryhl, Mr. Kurt Arnold Gottfrid",male,25,1,0,236853,26,,S
730,0,3,"Ilmakangas, Miss. Pieta Sofia",female,25,1,0,STON/O2. 3101271,7.925,,S
731,1,1,"Allen, Miss. Elisabeth Walton",female,29,0,0,24160,211.3375,B5,S
732,0,3,"Hassan, Mr. Houssein G N",male,11,0,0,2699,18.7875,,C
733,0,2,"Knight, Mr. Robert J",male,,0,0,239855,0,,S
734,0,2,"Berriman, Mr. William John",male,23,0,0,28425,13,,S
735,0,2,"Troupiansky, Mr. Moses Aaron",male,23,0,0,233639,13,,S
736,0,3,"Williams, Mr. Leslie",male,28.5,0,0,54636,16.1,,S
737,0,3,"Ford, Mrs. Edward (Margaret Ann Watson)",female,48,1,3,W./C. 6608,34.375,,S
738,1,1,"Lesurer, Mr. Gustave J",male,35,0,0,PC 17755,512.3292,B101,C
739,0,3,"Ivanoff, Mr. Kanio",male,,0,0,349201,7.8958,,S
740,0,3,"Nankoff, Mr. Minko",male,,0,0,349218,7.8958,,S
741,1,1,"Hawksford, Mr. Walter James",male,,0,0,16988,30,D45,S
742,0,1,"Cavendish, Mr. Tyrell William",male,36,1,0,19877,78.85,C46,S
743,1,1,"Ryerson, Miss. Susan Parker ""Suzette""",female,21,2,2,PC 17608,262.375,B57 B59 B63 B66,C
744,0,3,"McNamee, Mr. Neal",male,24,1,0,376566,16.1,,S
745,1,3,"Stranden, Mr. Juho",male,31,0,0,STON/O 2. 3101288,7.925,,S
746,0,1,"Crosby, Capt. Edward Gifford",male,70,1,1,WE/P 5735,71,B22,S
747,0,3,"Abbott, Mr. Rossmore Edward",male,16,1,1,C.A. 2673,20.25,,S
748,1,2,"Sinkkonen, Miss. Anna",female,30,0,0,250648,13,,S
749,0,1,"Marvin, Mr. Daniel Warner",male,19,1,0,113773,53.1,D30,S
750,0,3,"Connaghton, Mr. Michael",male,31,0,0,335097,7.75,,Q
751,1,2,"Wells, Miss. Joan",female,4,1,1,29103,23,,S
752,1,3,"Moor, Master. Meier",male,6,0,1,392096,12.475,E121,S
753,0,3,"Vande Velde, Mr. Johannes Joseph",male,33,0,0,345780,9.5,,S
754,0,3,"Jonkoff, Mr. Lalio",male,23,0,0,349204,7.8958,,S
755,1,2,"Herman, Mrs. Samuel (Jane Laver)",female,48,1,2,220845,65,,S
756,1,2,"Hamalainen, Master. Viljo",male,0.67,1,1,250649,14.5,,S
757,0,3,"Carlsson, Mr. August Sigfrid",male,28,0,0,350042,7.7958,,S
758,0,2,"Bailey, Mr. Percy Andrew",male,18,0,0,29108,11.5,,S
759,0,3,"Theobald, Mr. Thomas Leonard",male,34,0,0,363294,8.05,,S
760,1,1,"Rothes, the Countess. of (Lucy Noel Martha Dyer-Edwards)",female,33,0,0,110152,86.5,B77,S
761,0,3,"Garfirth, Mr. John",male,,0,0,358585,14.5,,S
762,0,3,"Nirva, Mr. Iisakki Antino Aijo",male,41,0,0,SOTON/O2 3101272,7.125,,S
763,1,3,"Barah, Mr. Hanna Assi",male,20,0,0,2663,7.2292,,C
764,1,1,"Carter, Mrs. William Ernest (Lucile Polk)",female,36,1,2,113760,120,B96 B98,S
765,0,3,"Eklund, Mr. Hans Linus",male,16,0,0,347074,7.775,,S
766,1,1,"Hogeboom, Mrs. John C (Anna Andrews)",female,51,1,0,13502,77.9583,D11,S
767,0,1,"Brewe, Dr. Arthur Jackson",male,,0,0,112379,39.6,,C
768,0,3,"Mangan, Miss. Mary",female,30.5,0,0,364850,7.75,,Q
769,0,3,"Moran, Mr. Daniel J",male,,1,0,371110,24.15,,Q
770,0,3,"Gronnestad, Mr. Daniel Danielsen",male,32,0,0,8471,8.3625,,S
771,0,3,"Lievens, Mr. Rene Aime",male,24,0,0,345781,9.5,,S
772,0,3,"Jensen, Mr. Niels Peder",male,48,0,0,350047,7.8542,,S
773,0,2,"Mack, Mrs. (Mary)",female,57,0,0,S.O./P.P. 3,10.5,E77,S
774,0,3,"Elias, Mr. Dibo",male,,0,0,2674,7.225,,C
775,1,2,"Hocking, Mrs. Elizabeth (Eliza Needs)",female,54,1,3,29105,23,,S
776,0,3,"Myhrman, Mr. Pehr Fabian Oliver Malkolm",male,18,0,0,347078,7.75,,S
777,0,3,"Tobin, Mr. Roger",male,,0,0,383121,7.75,F38,Q
778,1,3,"Emanuel, Miss. Virginia Ethel",female,5,0,0,364516,12.475,,S
779,0,3,"Kilgannon, Mr. Thomas J",male,,0,0,36865,7.7375,,Q
780,1,1,"Robert, Mrs. Edward Scott (Elisabeth Walton McMillan)",female,43,0,1,24160,211.3375,B3,S
781,1,3,"Ayoub, Miss. Banoura",female,13,0,0,2687,7.2292,,C
782,1,1,"Dick, Mrs. Albert Adrian (Vera Gillespie)",female,17,1,0,17474,57,B20,S
783,0,1,"Long, Mr. Milton Clyde",male,29,0,0,113501,30,D6,S
784,0,3,"Johnston, Mr. Andrew G",male,,1,2,W./C. 6607,23.45,,S
785,0,3,"Ali, Mr. William",male,25,0,0,SOTON/O.Q. 3101312,7.05,,S
786,0,3,"Harmer, Mr. Abraham (David Lishin)",male,25,0,0,374887,7.25,,S
787,1,3,"Sjoblom, Miss. Anna Sofia",female,18,0,0,3101265,7.4958,,S
788,0,3,"Rice, Master. George Hugh",male,8,4,1,382652,29.125,,Q
789,1,3,"Dean, Master. Bertram Vere",male,1,1,2,C.A. 2315,20.575,,S
790,0,1,"Guggenheim, Mr. Benjamin",male,46,0,0,PC 17593,79.2,B82 B84,C
791,0,3,"Keane, Mr. Andrew ""Andy""",male,,0,0,12460,7.75,,Q
792,0,2,"Gaskell, Mr. Alfred",male,16,0,0,239865,26,,S
793,0,3,"Sage, Miss. Stella Anna",female,,8,2,CA. 2343,69.55,,S
794,0,1,"Hoyt, Mr. William Fisher",male,,0,0,PC 17600,30.6958,,C
795,0,3,"Dantcheff, Mr. Ristiu",male,25,0,0,349203,7.8958,,S
796,0,2,"Otter, Mr. Richard",male,39,0,0,28213,13,,S
797,1,1,"Leader, Dr. Alice (Farnham)",female,49,0,0,17465,25.9292,D17,S
798,1,3,"Osman, Mrs. Mara",female,31,0,0,349244,8.6833,,S
799,0,3,"Ibrahim Shawah, Mr. Yousseff",male,30,0,0,2685,7.2292,,C
800,0,3,"Van Impe, Mrs. Jean Baptiste (Rosalie Paula Govaert)",female,30,1,1,345773,24.15,,S
801,0,2,"Ponesell, Mr. Martin",male,34,0,0,250647,13,,S
802,1,2,"Collyer, Mrs. Harvey (Charlotte Annie Tate)",female,31,1,1,C.A. 31921,26.25,,S
803,1,1,"Carter, Master. William Thornton II",male,11,1,2,113760,120,B96 B98,S
804,1,3,"Thomas, Master. Assad Alexander",male,0.42,0,1,2625,8.5167,,C
805,1,3,"Hedman, Mr. Oskar Arvid",male,27,0,0,347089,6.975,,S
806,0,3,"Johansson, Mr. Karl Johan",male,31,0,0,347063,7.775,,S
807,0,1,"Andrews, Mr. Thomas Jr",male,39,0,0,112050,0,A36,S
808,0,3,"Pettersson, Miss. Ellen Natalia",female,18,0,0,347087,7.775,,S
809,0,2,"Meyer, Mr. August",male,39,0,0,248723,13,,S
810,1,1,"Chambers, Mrs. Norman Campbell (Bertha Griggs)",female,33,1,0,113806,53.1,E8,S
811,0,3,"Alexander, Mr. William",male,26,0,0,3474,7.8875,,S
812,0,3,"Lester, Mr. James",male,39,0,0,A/4 48871,24.15,,S
813,0,2,"Slemen, Mr. Richard James",male,35,0,0,28206,10.5,,S
814,0,3,"Andersson, Miss. Ebba Iris Alfrida",female,6,4,2,347082,31.275,,S
815,0,3,"Tomlin, Mr. Ernest Portage",male,30.5,0,0,364499,8.05,,S
816,0,1,"Fry, Mr. Richard",male,,0,0,112058,0,B102,S
817,0,3,"Heininen, Miss. Wendla Maria",female,23,0,0,STON/O2. 3101290,7.925,,S
818,0,2,"Mallet, Mr. Albert",male,31,1,1,S.C./PARIS 2079,37.0042,,C
819,0,3,"Holm, Mr. John Fredrik Alexander",male,43,0,0,C 7075,6.45,,S
820,0,3,"Skoog, Master. Karl Thorsten",male,10,3,2,347088,27.9,,S
821,1,1,"Hays, Mrs. Charles Melville (Clara Jennings Gregg)",female,52,1,1,12749,93.5,B69,S
822,1,3,"Lulic, Mr. Nikola",male,27,0,0,315098,8.6625,,S
823,0,1,"Reuchlin, Jonkheer. John George",male,38,0,0,19972,0,,S
824,1,3,"Moor, Mrs. (Beila)",female,27,0,1,392096,12.475,E121,S
825,0,3,"Panula, Master. Urho Abraham",male,2,4,1,3101295,39.6875,,S
826,0,3,"Flynn, Mr. John",male,,0,0,368323,6.95,,Q
827,0,3,"Lam, Mr. Len",male,,0,0,1601,56.4958,,S
828,1,2,"Mallet, Master. Andre",male,1,0,2,S.C./PARIS 2079,37.0042,,C
829,1,3,"McCormack, Mr. Thomas Joseph",male,,0,0,367228,7.75,,Q
830,1,1,"Stone, Mrs. George Nelson (Martha Evelyn)",female,62,0,0,113572,80,B28,S
831,1,3,"Yasbeck, Mrs. Antoni (Selini Alexander)",female,15,1,0,2659,14.4542,,C
832,1,2,"Richards, Master. George Sibley",male,0.83,1,1,29106,18.75,,S
833,0,3,"Saad, Mr. Amin",male,,0,0,2671,7.2292,,C
834,0,3,"Augustsson, Mr. Albert",male,23,0,0,347468,7.8542,,S
835,0,3,"Allum, Mr. Owen George",male,18,0,0,2223,8.3,,S
836,1,1,"Compton, Miss. Sara Rebecca",female,39,1,1,PC 17756,83.1583,E49,C
837,0,3,"Pasic, Mr. Jakob",male,21,0,0,315097,8.6625,,S
838,0,3,"Sirota, Mr. Maurice",male,,0,0,392092,8.05,,S
839,1,3,"Chip, Mr. Chang",male,32,0,0,1601,56.4958,,S
840,1,1,"Marechal, Mr. Pierre",male,,0,0,11774,29.7,C47,C
841,0,3,"Alhomaki, Mr. Ilmari Rudolf",male,20,0,0,SOTON/O2 3101287,7.925,,S
842,0,2,"Mudd, Mr. Thomas Charles",male,16,0,0,S.O./P.P. 3,10.5,,S
843,1,1,"Serepeca, Miss. Augusta",female,30,0,0,113798,31,,C
844,0,3,"Lemberopolous, Mr. Peter L",male,34.5,0,0,2683,6.4375,,C
845,0,3,"Culumovic, Mr. Jeso",male,17,0,0,315090,8.6625,,S
846,0,3,"Abbing, Mr. Anthony",male,42,0,0,C.A. 5547,7.55,,S
847,0,3,"Sage, Mr. Douglas Bullen",male,,8,2,CA. 2343,69.55,,S
848,0,3,"Markoff, Mr. Marin",male,35,0,0,349213,7.8958,,C
849,0,2,"Harper, Rev. John",male,28,0,1,248727,33,,S
850,1,1,"Goldenberg, Mrs. Samuel L (Edwiga Grabowska)",female,,1,0,17453,89.1042,C92,C
851,0,3,"Andersson, Master. Sigvard Harald Elias",male,4,4,2,347082,31.275,,S
852,0,3,"Svensson, Mr. Johan",male,74,0,0,347060,7.775,,S
853,0,3,"Boulos, Miss. Nourelain",female,9,1,1,2678,15.2458,,C
854,1,1,"Lines, Miss. Mary Conover",female,16,0,1,PC 17592,39.4,D28,S
855,0,2,"Carter, Mrs. Ernest Courtenay (Lilian Hughes)",female,44,1,0,244252,26,,S
856,1,3,"Aks, Mrs. Sam (Leah Rosen)",female,18,0,1,392091,9.35,,S
857,1,1,"Wick, Mrs. George Dennick (Mary Hitchcock)",female,45,1,1,36928,164.8667,,S
858,1,1,"Daly, Mr. Peter Denis ",male,51,0,0,113055,26.55,E17,S
859,1,3,"Baclini, Mrs. Solomon (Latifa Qurban)",female,24,0,3,2666,19.2583,,C
860,0,3,"Razi, Mr. Raihed",male,,0,0,2629,7.2292,,C
861,0,3,"Hansen, Mr. Claus Peter",male,41,2,0,350026,14.1083,,S
862,0,2,"Giles, Mr. Frederick Edward",male,21,1,0,28134,11.5,,S
863,1,1,"Swift, Mrs. Frederick Joel (Margaret Welles Barron)",female,48,0,0,17466,25.9292,D17,S
864,0,3,"Sage, Miss. Dorothy Edith ""Dolly""",female,,8,2,CA. 2343,69.55,,S
865,0,2,"Gill, Mr. John William",male,24,0,0,233866,13,,S
866,1,2,"Bystrom, Mrs. (Karolina)",female,42,0,0,236852,13,,S
867,1,2,"Duran y More, Miss. Asuncion",female,27,1,0,SC/PARIS 2149,13.8583,,C
868,0,1,"Roebling, Mr. Washington Augustus II",male,31,0,0,PC 17590,50.4958,A24,S
869,0,3,"van Melkebeke, Mr. Philemon",male,,0,0,345777,9.5,,S
870,1,3,"Johnson, Master. Harold Theodor",male,4,1,1,347742,11.1333,,S
871,0,3,"Balkic, Mr. Cerin",male,26,0,0,349248,7.8958,,S
872,1,1,"Beckwith, Mrs. Richard Leonard (Sallie Monypeny)",female,47,1,1,11751,52.5542,D35,S
873,0,1,"Carlsson, Mr. Frans Olof",male,33,0,0,695,5,B51 B53 B55,S
874,0,3,"Vander Cruyssen, Mr. Victor",male,47,0,0,345765,9,,S
875,1,2,"Abelson, Mrs. Samuel (Hannah Wizosky)",female,28,1,0,P/PP 3381,24,,C
876,1,3,"Najib, Miss. Adele Kiamie ""Jane""",female,15,0,0,2667,7.225,,C
877,0,3,"Gustafsson, Mr. Alfred Ossian",male,20,0,0,7534,9.8458,,S
878,0,3,"Petroff, Mr. Nedelio",male,19,0,0,349212,7.8958,,S
879,0,3,"Laleff, Mr. Kristo",male,,0,0,349217,7.8958,,S
880,1,1,"Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)",female,56,0,1,11767,83.1583,C50,C
881,1,2,"Shelley, Mrs. William (Imanita Parrish Hall)",female,25,0,1,230433,26,,S
882,0,3,"Markun, Mr. Johann",male,33,0,0,349257,7.8958,,S
883,0,3,"Dahlberg, Miss. Gerda Ulrika",female,22,0,0,7552,10.5167,,S
884,0,2,"Banfield, Mr. Frederick James",male,28,0,0,C.A./SOTON 34068,10.5,,S
885,0,3,"Sutehall, Mr. Henry Jr",male,25,0,0,SOTON/OQ 392076,7.05,,S
886,0,3,"Rice, Mrs. William (Margaret Norton)",female,39,0,5,382652,29.125,,Q
887,0,2,"Montvila, Rev. Juozas",male,27,0,0,211536,13,,S
888,1,1,"Graham, Miss. Margaret Edith",female,19,0,0,112053,30,B42,S
889,0,3,"Johnston, Miss. Catherine Helen ""Carrie""",female,,1,2,W./C. 6607,23.45,,S
890,1,1,"Behr, Mr. Karl Howell",male,26,0,0,111369,30,C148,C
891,0,3,"Dooley, Mr. Patrick",male,32,0,0,370376,7.75,,Q
892,,3,"Kelly, Mr. James",male,34.5,0,0,330911,7.8292,,Q
893,,3,"Wilkes, Mrs. James (Ellen Needs)",female,47,1,0,363272,7,,S
894,,2,"Myles, Mr. Thomas Francis",male,62,0,0,240276,9.6875,,Q
895,,3,"Wirz, Mr. Albert",male,27,0,0,315154,8.6625,,S
896,,3,"Hirvonen, Mrs. Alexander (Helga E Lindqvist)",female,22,1,1,3101298,12.2875,,S
897,,3,"Svensson, Mr. Johan Cervin",male,14,0,0,7538,9.225,,S
898,,3,"Connolly, Miss. Kate",female,30,0,0,330972,7.6292,,Q
899,,2,"Caldwell, Mr. Albert Francis",male,26,1,1,248738,29,,S
900,,3,"Abrahim, Mrs. Joseph (Sophie Halaut Easu)",female,18,0,0,2657,7.2292,,C
901,,3,"Davies, Mr. John Samuel",male,21,2,0,A/4 48871,24.15,,S
902,,3,"Ilieff, Mr. Ylio",male,,0,0,349220,7.8958,,S
903,,1,"Jones, Mr. Charles Cresson",male,46,0,0,694,26,,S
904,,1,"Snyder, Mrs. John Pillsbury (Nelle Stevenson)",female,23,1,0,21228,82.2667,B45,S
905,,2,"Howard, Mr. Benjamin",male,63,1,0,24065,26,,S
906,,1,"Chaffee, Mrs. Herbert Fuller (Carrie Constance Toogood)",female,47,1,0,W.E.P. 5734,61.175,E31,S
907,,2,"del Carlo, Mrs. Sebastiano (Argenia Genovesi)",female,24,1,0,SC/PARIS 2167,27.7208,,C
908,,2,"Keane, Mr. Daniel",male,35,0,0,233734,12.35,,Q
909,,3,"Assaf, Mr. Gerios",male,21,0,0,2692,7.225,,C
910,,3,"Ilmakangas, Miss. Ida Livija",female,27,1,0,STON/O2. 3101270,7.925,,S
911,,3,"Assaf Khalil, Mrs. Mariana (Miriam"")""",female,45,0,0,2696,7.225,,C
912,,1,"Rothschild, Mr. Martin",male,55,1,0,PC 17603,59.4,,C
913,,3,"Olsen, Master. Artur Karl",male,9,0,1,C 17368,3.1708,,S
914,,1,"Flegenheim, Mrs. Alfred (Antoinette)",female,,0,0,PC 17598,31.6833,,S
915,,1,"Williams, Mr. Richard Norris II",male,21,0,1,PC 17597,61.3792,,C
916,,1,"Ryerson, Mrs. Arthur Larned (Emily Maria Borie)",female,48,1,3,PC 17608,262.375,B57 B59 B63 B66,C
917,,3,"Robins, Mr. Alexander A",male,50,1,0,A/5. 3337,14.5,,S
918,,1,"Ostby, Miss. Helene Ragnhild",female,22,0,1,113509,61.9792,B36,C
919,,3,"Daher, Mr. Shedid",male,22.5,0,0,2698,7.225,,C
920,,1,"Brady, Mr. John Bertram",male,41,0,0,113054,30.5,A21,S
921,,3,"Samaan, Mr. Elias",male,,2,0,2662,21.6792,,C
922,,2,"Louch, Mr. Charles Alexander",male,50,1,0,SC/AH 3085,26,,S
923,,2,"Jefferys, Mr. Clifford Thomas",male,24,2,0,C.A. 31029,31.5,,S
924,,3,"Dean, Mrs. Bertram (Eva Georgetta Light)",female,33,1,2,C.A. 2315,20.575,,S
925,,3,"Johnston, Mrs. Andrew G (Elizabeth Lily"" Watson)""",female,,1,2,W./C. 6607,23.45,,S
926,,1,"Mock, Mr. Philipp Edmund",male,30,1,0,13236,57.75,C78,C
927,,3,"Katavelas, Mr. Vassilios (Catavelas Vassilios"")""",male,18.5,0,0,2682,7.2292,,C
928,,3,"Roth, Miss. Sarah A",female,,0,0,342712,8.05,,S
929,,3,"Cacic, Miss. Manda",female,21,0,0,315087,8.6625,,S
930,,3,"Sap, Mr. Julius",male,25,0,0,345768,9.5,,S
931,,3,"Hee, Mr. Ling",male,,0,0,1601,56.4958,,S
932,,3,"Karun, Mr. Franz",male,39,0,1,349256,13.4167,,C
933,,1,"Franklin, Mr. Thomas Parham",male,,0,0,113778,26.55,D34,S
934,,3,"Goldsmith, Mr. Nathan",male,41,0,0,SOTON/O.Q. 3101263,7.85,,S
935,,2,"Corbett, Mrs. Walter H (Irene Colvin)",female,30,0,0,237249,13,,S
936,,1,"Kimball, Mrs. Edwin Nelson Jr (Gertrude Parsons)",female,45,1,0,11753,52.5542,D19,S
937,,3,"Peltomaki, Mr. Nikolai Johannes",male,25,0,0,STON/O 2. 3101291,7.925,,S
938,,1,"Chevre, Mr. Paul Romaine",male,45,0,0,PC 17594,29.7,A9,C
939,,3,"Shaughnessy, Mr. Patrick",male,,0,0,370374,7.75,,Q
940,,1,"Bucknell, Mrs. William Robert (Emma Eliza Ward)",female,60,0,0,11813,76.2917,D15,C
941,,3,"Coutts, Mrs. William (Winnie Minnie"" Treanor)""",female,36,0,2,C.A. 37671,15.9,,S
942,,1,"Smith, Mr. Lucien Philip",male,24,1,0,13695,60,C31,S
943,,2,"Pulbaum, Mr. Franz",male,27,0,0,SC/PARIS 2168,15.0333,,C
944,,2,"Hocking, Miss. Ellen Nellie""""",female,20,2,1,29105,23,,S
945,,1,"Fortune, Miss. Ethel Flora",female,28,3,2,19950,263,C23 C25 C27,S
946,,2,"Mangiavacchi, Mr. Serafino Emilio",male,,0,0,SC/A.3 2861,15.5792,,C
947,,3,"Rice, Master. Albert",male,10,4,1,382652,29.125,,Q
948,,3,"Cor, Mr. Bartol",male,35,0,0,349230,7.8958,,S
949,,3,"Abelseth, Mr. Olaus Jorgensen",male,25,0,0,348122,7.65,F G63,S
950,,3,"Davison, Mr. Thomas Henry",male,,1,0,386525,16.1,,S
951,,1,"Chaudanson, Miss. Victorine",female,36,0,0,PC 17608,262.375,B61,C
952,,3,"Dika, Mr. Mirko",male,17,0,0,349232,7.8958,,S
953,,2,"McCrae, Mr. Arthur Gordon",male,32,0,0,237216,13.5,,S
954,,3,"Bjorklund, Mr. Ernst Herbert",male,18,0,0,347090,7.75,,S
955,,3,"Bradley, Miss. Bridget Delia",female,22,0,0,334914,7.725,,Q
956,,1,"Ryerson, Master. John Borie",male,13,2,2,PC 17608,262.375,B57 B59 B63 B66,C
957,,2,"Corey, Mrs. Percy C (Mary Phyllis Elizabeth Miller)",female,,0,0,F.C.C. 13534,21,,S
958,,3,"Burns, Miss. Mary Delia",female,18,0,0,330963,7.8792,,Q
959,,1,"Moore, Mr. Clarence Bloomfield",male,47,0,0,113796,42.4,,S
960,,1,"Tucker, Mr. Gilbert Milligan Jr",male,31,0,0,2543,28.5375,C53,C
961,,1,"Fortune, Mrs. Mark (Mary McDougald)",female,60,1,4,19950,263,C23 C25 C27,S
962,,3,"Mulvihill, Miss. Bertha E",female,24,0,0,382653,7.75,,Q
963,,3,"Minkoff, Mr. Lazar",male,21,0,0,349211,7.8958,,S
964,,3,"Nieminen, Miss. Manta Josefina",female,29,0,0,3101297,7.925,,S
965,,1,"Ovies y Rodriguez, Mr. Servando",male,28.5,0,0,PC 17562,27.7208,D43,C
966,,1,"Geiger, Miss. Amalie",female,35,0,0,113503,211.5,C130,C
967,,1,"Keeping, Mr. Edwin",male,32.5,0,0,113503,211.5,C132,C
968,,3,"Miles, Mr. Frank",male,,0,0,359306,8.05,,S
969,,1,"Cornell, Mrs. Robert Clifford (Malvina Helen Lamson)",female,55,2,0,11770,25.7,C101,S
970,,2,"Aldworth, Mr. Charles Augustus",male,30,0,0,248744,13,,S
971,,3,"Doyle, Miss. Elizabeth",female,24,0,0,368702,7.75,,Q
972,,3,"Boulos, Master. Akar",male,6,1,1,2678,15.2458,,C
973,,1,"Straus, Mr. Isidor",male,67,1,0,PC 17483,221.7792,C55 C57,S
974,,1,"Case, Mr. Howard Brown",male,49,0,0,19924,26,,S
975,,3,"Demetri, Mr. Marinko",male,,0,0,349238,7.8958,,S
976,,2,"Lamb, Mr. John Joseph",male,,0,0,240261,10.7083,,Q
977,,3,"Khalil, Mr. Betros",male,,1,0,2660,14.4542,,C
978,,3,"Barry, Miss. Julia",female,27,0,0,330844,7.8792,,Q
979,,3,"Badman, Miss. Emily Louisa",female,18,0,0,A/4 31416,8.05,,S
980,,3,"O'Donoghue, Ms. Bridget",female,,0,0,364856,7.75,,Q
981,,2,"Wells, Master. Ralph Lester",male,2,1,1,29103,23,,S
982,,3,"Dyker, Mrs. Adolf Fredrik (Anna Elisabeth Judith Andersson)",female,22,1,0,347072,13.9,,S
983,,3,"Pedersen, Mr. Olaf",male,,0,0,345498,7.775,,S
984,,1,"Davidson, Mrs. Thornton (Orian Hays)",female,27,1,2,F.C. 12750,52,B71,S
985,,3,"Guest, Mr. Robert",male,,0,0,376563,8.05,,S
986,,1,"Birnbaum, Mr. Jakob",male,25,0,0,13905,26,,C
987,,3,"Tenglin, Mr. Gunnar Isidor",male,25,0,0,350033,7.7958,,S
988,,1,"Cavendish, Mrs. Tyrell William (Julia Florence Siegel)",female,76,1,0,19877,78.85,C46,S
989,,3,"Makinen, Mr. Kalle Edvard",male,29,0,0,STON/O 2. 3101268,7.925,,S
990,,3,"Braf, Miss. Elin Ester Maria",female,20,0,0,347471,7.8542,,S
991,,3,"Nancarrow, Mr. William Henry",male,33,0,0,A./5. 3338,8.05,,S
992,,1,"Stengel, Mrs. Charles Emil Henry (Annie May Morris)",female,43,1,0,11778,55.4417,C116,C
993,,2,"Weisz, Mr. Leopold",male,27,1,0,228414,26,,S
994,,3,"Foley, Mr. William",male,,0,0,365235,7.75,,Q
995,,3,"Johansson Palmquist, Mr. Oskar Leander",male,26,0,0,347070,7.775,,S
996,,3,"Thomas, Mrs. Alexander (Thamine Thelma"")""",female,16,1,1,2625,8.5167,,C
997,,3,"Holthen, Mr. Johan Martin",male,28,0,0,C 4001,22.525,,S
998,,3,"Buckley, Mr. Daniel",male,21,0,0,330920,7.8208,,Q
999,,3,"Ryan, Mr. Edward",male,,0,0,383162,7.75,,Q
1000,,3,"Willer, Mr. Aaron (Abi Weller"")""",male,,0,0,3410,8.7125,,S
1001,,2,"Swane, Mr. George",male,18.5,0,0,248734,13,F,S
1002,,2,"Stanton, Mr. Samuel Ward",male,41,0,0,237734,15.0458,,C
1003,,3,"Shine, Miss. Ellen Natalia",female,,0,0,330968,7.7792,,Q
1004,,1,"Evans, Miss. Edith Corse",female,36,0,0,PC 17531,31.6792,A29,C
1005,,3,"Buckley, Miss. Katherine",female,18.5,0,0,329944,7.2833,,Q
1006,,1,"Straus, Mrs. Isidor (Rosalie Ida Blun)",female,63,1,0,PC 17483,221.7792,C55 C57,S
1007,,3,"Chronopoulos, Mr. Demetrios",male,18,1,0,2680,14.4542,,C
1008,,3,"Thomas, Mr. John",male,,0,0,2681,6.4375,,C
1009,,3,"Sandstrom, Miss. Beatrice Irene",female,1,1,1,PP 9549,16.7,G6,S
1010,,1,"Beattie, Mr. Thomson",male,36,0,0,13050,75.2417,C6,C
1011,,2,"Chapman, Mrs. John Henry (Sara Elizabeth Lawry)",female,29,1,0,SC/AH 29037,26,,S
1012,,2,"Watt, Miss. Bertha J",female,12,0,0,C.A. 33595,15.75,,S
1013,,3,"Kiernan, Mr. John",male,,1,0,367227,7.75,,Q
1014,,1,"Schabert, Mrs. Paul (Emma Mock)",female,35,1,0,13236,57.75,C28,C
1015,,3,"Carver, Mr. Alfred John",male,28,0,0,392095,7.25,,S
1016,,3,"Kennedy, Mr. John",male,,0,0,368783,7.75,,Q
1017,,3,"Cribb, Miss. Laura Alice",female,17,0,1,371362,16.1,,S
1018,,3,"Brobeck, Mr. Karl Rudolf",male,22,0,0,350045,7.7958,,S
1019,,3,"McCoy, Miss. Alicia",female,,2,0,367226,23.25,,Q
1020,,2,"Bowenur, Mr. Solomon",male,42,0,0,211535,13,,S
1021,,3,"Petersen, Mr. Marius",male,24,0,0,342441,8.05,,S
1022,,3,"Spinner, Mr. Henry John",male,32,0,0,STON/OQ. 369943,8.05,,S
1023,,1,"Gracie, Col. Archibald IV",male,53,0,0,113780,28.5,C51,C
1024,,3,"Lefebre, Mrs. Frank (Frances)",female,,0,4,4133,25.4667,,S
1025,,3,"Thomas, Mr. Charles P",male,,1,0,2621,6.4375,,C
1026,,3,"Dintcheff, Mr. Valtcho",male,43,0,0,349226,7.8958,,S
1027,,3,"Carlsson, Mr. Carl Robert",male,24,0,0,350409,7.8542,,S
1028,,3,"Zakarian, Mr. Mapriededer",male,26.5,0,0,2656,7.225,,C
1029,,2,"Schmidt, Mr. August",male,26,0,0,248659,13,,S
1030,,3,"Drapkin, Miss. Jennie",female,23,0,0,SOTON/OQ 392083,8.05,,S
1031,,3,"Goodwin, Mr. Charles Frederick",male,40,1,6,CA 2144,46.9,,S
1032,,3,"Goodwin, Miss. Jessie Allis",female,10,5,2,CA 2144,46.9,,S
1033,,1,"Daniels, Miss. Sarah",female,33,0,0,113781,151.55,,S
1034,,1,"Ryerson, Mr. Arthur Larned",male,61,1,3,PC 17608,262.375,B57 B59 B63 B66,C
1035,,2,"Beauchamp, Mr. Henry James",male,28,0,0,244358,26,,S
1036,,1,"Lindeberg-Lind, Mr. Erik Gustaf (Mr Edward Lingrey"")""",male,42,0,0,17475,26.55,,S
1037,,3,"Vander Planke, Mr. Julius",male,31,3,0,345763,18,,S
1038,,1,"Hilliard, Mr. Herbert Henry",male,,0,0,17463,51.8625,E46,S
1039,,3,"Davies, Mr. Evan",male,22,0,0,SC/A4 23568,8.05,,S
1040,,1,"Crafton, Mr. John Bertram",male,,0,0,113791,26.55,,S
1041,,2,"Lahtinen, Rev. William",male,30,1,1,250651,26,,S
1042,,1,"Earnshaw, Mrs. Boulton (Olive Potter)",female,23,0,1,11767,83.1583,C54,C
1043,,3,"Matinoff, Mr. Nicola",male,,0,0,349255,7.8958,,C
1044,,3,"Storey, Mr. Thomas",male,60.5,0,0,3701,,,S
1045,,3,"Klasen, Mrs. (Hulda Kristina Eugenia Lofqvist)",female,36,0,2,350405,12.1833,,S
1046,,3,"Asplund, Master. Filip Oscar",male,13,4,2,347077,31.3875,,S
1047,,3,"Duquemin, Mr. Joseph",male,24,0,0,S.O./P.P. 752,7.55,,S
1048,,1,"Bird, Miss. Ellen",female,29,0,0,PC 17483,221.7792,C97,S
1049,,3,"Lundin, Miss. Olga Elida",female,23,0,0,347469,7.8542,,S
1050,,1,"Borebank, Mr. John James",male,42,0,0,110489,26.55,D22,S
1051,,3,"Peacock, Mrs. Benjamin (Edith Nile)",female,26,0,2,SOTON/O.Q. 3101315,13.775,,S
1052,,3,"Smyth, Miss. Julia",female,,0,0,335432,7.7333,,Q
1053,,3,"Touma, Master. Georges Youssef",male,7,1,1,2650,15.2458,,C
1054,,2,"Wright, Miss. Marion",female,26,0,0,220844,13.5,,S
1055,,3,"Pearce, Mr. Ernest",male,,0,0,343271,7,,S
1056,,2,"Peruschitz, Rev. Joseph Maria",male,41,0,0,237393,13,,S
1057,,3,"Kink-Heilmann, Mrs. Anton (Luise Heilmann)",female,26,1,1,315153,22.025,,S
1058,,1,"Brandeis, Mr. Emil",male,48,0,0,PC 17591,50.4958,B10,C
1059,,3,"Ford, Mr. Edward Watson",male,18,2,2,W./C. 6608,34.375,,S
1060,,1,"Cassebeer, Mrs. Henry Arthur Jr (Eleanor Genevieve Fosdick)",female,,0,0,17770,27.7208,,C
1061,,3,"Hellstrom, Miss. Hilda Maria",female,22,0,0,7548,8.9625,,S
1062,,3,"Lithman, Mr. Simon",male,,0,0,S.O./P.P. 251,7.55,,S
1063,,3,"Zakarian, Mr. Ortin",male,27,0,0,2670,7.225,,C
1064,,3,"Dyker, Mr. Adolf Fredrik",male,23,1,0,347072,13.9,,S
1065,,3,"Torfa, Mr. Assad",male,,0,0,2673,7.2292,,C
1066,,3,"Asplund, Mr. Carl Oscar Vilhelm Gustafsson",male,40,1,5,347077,31.3875,,S
1067,,2,"Brown, Miss. Edith Eileen",female,15,0,2,29750,39,,S
1068,,2,"Sincock, Miss. Maude",female,20,0,0,C.A. 33112,36.75,,S
1069,,1,"Stengel, Mr. Charles Emil Henry",male,54,1,0,11778,55.4417,C116,C
1070,,2,"Becker, Mrs. Allen Oliver (Nellie E Baumgardner)",female,36,0,3,230136,39,F4,S
1071,,1,"Compton, Mrs. Alexander Taylor (Mary Eliza Ingersoll)",female,64,0,2,PC 17756,83.1583,E45,C
1072,,2,"McCrie, Mr. James Matthew",male,30,0,0,233478,13,,S
1073,,1,"Compton, Mr. Alexander Taylor Jr",male,37,1,1,PC 17756,83.1583,E52,C
1074,,1,"Marvin, Mrs. Daniel Warner (Mary Graham Carmichael Farquarson)",female,18,1,0,113773,53.1,D30,S
1075,,3,"Lane, Mr. Patrick",male,,0,0,7935,7.75,,Q
1076,,1,"Douglas, Mrs. Frederick Charles (Mary Helene Baxter)",female,27,1,1,PC 17558,247.5208,B58 B60,C
1077,,2,"Maybery, Mr. Frank Hubert",male,40,0,0,239059,16,,S
1078,,2,"Phillips, Miss. Alice Frances Louisa",female,21,0,1,S.O./P.P. 2,21,,S
1079,,3,"Davies, Mr. Joseph",male,17,2,0,A/4 48873,8.05,,S
1080,,3,"Sage, Miss. Ada",female,,8,2,CA. 2343,69.55,,S
1081,,2,"Veal, Mr. James",male,40,0,0,28221,13,,S
1082,,2,"Angle, Mr. William A",male,34,1,0,226875,26,,S
1083,,1,"Salomon, Mr. Abraham L",male,,0,0,111163,26,,S
1084,,3,"van Billiard, Master. Walter John",male,11.5,1,1,A/5. 851,14.5,,S
1085,,2,"Lingane, Mr. John",male,61,0,0,235509,12.35,,Q
1086,,2,"Drew, Master. Marshall Brines",male,8,0,2,28220,32.5,,S
1087,,3,"Karlsson, Mr. Julius Konrad Eugen",male,33,0,0,347465,7.8542,,S
1088,,1,"Spedden, Master. Robert Douglas",male,6,0,2,16966,134.5,E34,C
1089,,3,"Nilsson, Miss. Berta Olivia",female,18,0,0,347066,7.775,,S
1090,,2,"Baimbrigge, Mr. Charles Robert",male,23,0,0,C.A. 31030,10.5,,S
1091,,3,"Rasmussen, Mrs. (Lena Jacobsen Solvang)",female,,0,0,65305,8.1125,,S
1092,,3,"Murphy, Miss. Nora",female,,0,0,36568,15.5,,Q
1093,,3,"Danbom, Master. Gilbert Sigvard Emanuel",male,0.33,0,2,347080,14.4,,S
1094,,1,"Astor, Col. John Jacob",male,47,1,0,PC 17757,227.525,C62 C64,C
1095,,2,"Quick, Miss. Winifred Vera",female,8,1,1,26360,26,,S
1096,,2,"Andrew, Mr. Frank Thomas",male,25,0,0,C.A. 34050,10.5,,S
1097,,1,"Omont, Mr. Alfred Fernand",male,,0,0,F.C. 12998,25.7417,,C
1098,,3,"McGowan, Miss. Katherine",female,35,0,0,9232,7.75,,Q
1099,,2,"Collett, Mr. Sidney C Stuart",male,24,0,0,28034,10.5,,S
1100,,1,"Rosenbaum, Miss. Edith Louise",female,33,0,0,PC 17613,27.7208,A11,C
1101,,3,"Delalic, Mr. Redjo",male,25,0,0,349250,7.8958,,S
1102,,3,"Andersen, Mr. Albert Karvin",male,32,0,0,C 4001,22.525,,S
1103,,3,"Finoli, Mr. Luigi",male,,0,0,SOTON/O.Q. 3101308,7.05,,S
1104,,2,"Deacon, Mr. Percy William",male,17,0,0,S.O.C. 14879,73.5,,S
1105,,2,"Howard, Mrs. Benjamin (Ellen Truelove Arman)",female,60,1,0,24065,26,,S
1106,,3,"Andersson, Miss. Ida Augusta Margareta",female,38,4,2,347091,7.775,,S
1107,,1,"Head, Mr. Christopher",male,42,0,0,113038,42.5,B11,S
1108,,3,"Mahon, Miss. Bridget Delia",female,,0,0,330924,7.8792,,Q
1109,,1,"Wick, Mr. George Dennick",male,57,1,1,36928,164.8667,,S
1110,,1,"Widener, Mrs. George Dunton (Eleanor Elkins)",female,50,1,1,113503,211.5,C80,C
1111,,3,"Thomson, Mr. Alexander Morrison",male,,0,0,32302,8.05,,S
1112,,2,"Duran y More, Miss. Florentina",female,30,1,0,SC/PARIS 2148,13.8583,,C
1113,,3,"Reynolds, Mr. Harold J",male,21,0,0,342684,8.05,,S
1114,,2,"Cook, Mrs. (Selena Rogers)",female,22,0,0,W./C. 14266,10.5,F33,S
1115,,3,"Karlsson, Mr. Einar Gervasius",male,21,0,0,350053,7.7958,,S
1116,,1,"Candee, Mrs. Edward (Helen Churchill Hungerford)",female,53,0,0,PC 17606,27.4458,,C
1117,,3,"Moubarek, Mrs. George (Omine Amenia"" Alexander)""",female,,0,2,2661,15.2458,,C
1118,,3,"Asplund, Mr. Johan Charles",male,23,0,0,350054,7.7958,,S
1119,,3,"McNeill, Miss. Bridget",female,,0,0,370368,7.75,,Q
1120,,3,"Everett, Mr. Thomas James",male,40.5,0,0,C.A. 6212,15.1,,S
1121,,2,"Hocking, Mr. Samuel James Metcalfe",male,36,0,0,242963,13,,S
1122,,2,"Sweet, Mr. George Frederick",male,14,0,0,220845,65,,S
1123,,1,"Willard, Miss. Constance",female,21,0,0,113795,26.55,,S
1124,,3,"Wiklund, Mr. Karl Johan",male,21,1,0,3101266,6.4958,,S
1125,,3,"Linehan, Mr. Michael",male,,0,0,330971,7.8792,,Q
1126,,1,"Cumings, Mr. John Bradley",male,39,1,0,PC 17599,71.2833,C85,C
1127,,3,"Vendel, Mr. Olof Edvin",male,20,0,0,350416,7.8542,,S
1128,,1,"Warren, Mr. Frank Manley",male,64,1,0,110813,75.25,D37,C
1129,,3,"Baccos, Mr. Raffull",male,20,0,0,2679,7.225,,C
1130,,2,"Hiltunen, Miss. Marta",female,18,1,1,250650,13,,S
1131,,1,"Douglas, Mrs. Walter Donald (Mahala Dutton)",female,48,1,0,PC 17761,106.425,C86,C
1132,,1,"Lindstrom, Mrs. Carl Johan (Sigrid Posse)",female,55,0,0,112377,27.7208,,C
1133,,2,"Christy, Mrs. (Alice Frances)",female,45,0,2,237789,30,,S
1134,,1,"Spedden, Mr. Frederic Oakley",male,45,1,1,16966,134.5,E34,C
1135,,3,"Hyman, Mr. Abraham",male,,0,0,3470,7.8875,,S
1136,,3,"Johnston, Master. William Arthur Willie""""",male,,1,2,W./C. 6607,23.45,,S
1137,,1,"Kenyon, Mr. Frederick R",male,41,1,0,17464,51.8625,D21,S
1138,,2,"Karnes, Mrs. J Frank (Claire Bennett)",female,22,0,0,F.C.C. 13534,21,,S
1139,,2,"Drew, Mr. James Vivian",male,42,1,1,28220,32.5,,S
1140,,2,"Hold, Mrs. Stephen (Annie Margaret Hill)",female,29,1,0,26707,26,,S
1141,,3,"Khalil, Mrs. Betros (Zahie Maria"" Elias)""",female,,1,0,2660,14.4542,,C
1142,,2,"West, Miss. Barbara J",female,0.92,1,2,C.A. 34651,27.75,,S
1143,,3,"Abrahamsson, Mr. Abraham August Johannes",male,20,0,0,SOTON/O2 3101284,7.925,,S
1144,,1,"Clark, Mr. Walter Miller",male,27,1,0,13508,136.7792,C89,C
1145,,3,"Salander, Mr. Karl Johan",male,24,0,0,7266,9.325,,S
1146,,3,"Wenzel, Mr. Linhart",male,32.5,0,0,345775,9.5,,S
1147,,3,"MacKay, Mr. George William",male,,0,0,C.A. 42795,7.55,,S
1148,,3,"Mahon, Mr. John",male,,0,0,AQ/4 3130,7.75,,Q
1149,,3,"Niklasson, Mr. Samuel",male,28,0,0,363611,8.05,,S
1150,,2,"Bentham, Miss. Lilian W",female,19,0,0,28404,13,,S
1151,,3,"Midtsjo, Mr. Karl Albert",male,21,0,0,345501,7.775,,S
1152,,3,"de Messemaeker, Mr. Guillaume Joseph",male,36.5,1,0,345572,17.4,,S
1153,,3,"Nilsson, Mr. August Ferdinand",male,21,0,0,350410,7.8542,,S
1154,,2,"Wells, Mrs. Arthur Henry (Addie"" Dart Trevaskis)""",female,29,0,2,29103,23,,S
1155,,3,"Klasen, Miss. Gertrud Emilia",female,1,1,1,350405,12.1833,,S
1156,,2,"Portaluppi, Mr. Emilio Ilario Giuseppe",male,30,0,0,C.A. 34644,12.7375,,C
1157,,3,"Lyntakoff, Mr. Stanko",male,,0,0,349235,7.8958,,S
1158,,1,"Chisholm, Mr. Roderick Robert Crispin",male,,0,0,112051,0,,S
1159,,3,"Warren, Mr. Charles William",male,,0,0,C.A. 49867,7.55,,S
1160,,3,"Howard, Miss. May Elizabeth",female,,0,0,A. 2. 39186,8.05,,S
1161,,3,"Pokrnic, Mr. Mate",male,17,0,0,315095,8.6625,,S
1162,,1,"McCaffry, Mr. Thomas Francis",male,46,0,0,13050,75.2417,C6,C
1163,,3,"Fox, Mr. Patrick",male,,0,0,368573,7.75,,Q
1164,,1,"Clark, Mrs. Walter Miller (Virginia McDowell)",female,26,1,0,13508,136.7792,C89,C
1165,,3,"Lennon, Miss. Mary",female,,1,0,370371,15.5,,Q
1166,,3,"Saade, Mr. Jean Nassr",male,,0,0,2676,7.225,,C
1167,,2,"Bryhl, Miss. Dagmar Jenny Ingeborg ",female,20,1,0,236853,26,,S
1168,,2,"Parker, Mr. Clifford Richard",male,28,0,0,SC 14888,10.5,,S
1169,,2,"Faunthorpe, Mr. Harry",male,40,1,0,2926,26,,S
1170,,2,"Ware, Mr. John James",male,30,1,0,CA 31352,21,,S
1171,,2,"Oxenham, Mr. Percy Thomas",male,22,0,0,W./C. 14260,10.5,,S
1172,,3,"Oreskovic, Miss. Jelka",female,23,0,0,315085,8.6625,,S
1173,,3,"Peacock, Master. Alfred Edward",male,0.75,1,1,SOTON/O.Q. 3101315,13.775,,S
1174,,3,"Fleming, Miss. Honora",female,,0,0,364859,7.75,,Q
1175,,3,"Touma, Miss. Maria Youssef",female,9,1,1,2650,15.2458,,C
1176,,3,"Rosblom, Miss. Salli Helena",female,2,1,1,370129,20.2125,,S
1177,,3,"Dennis, Mr. William",male,36,0,0,A/5 21175,7.25,,S
1178,,3,"Franklin, Mr. Charles (Charles Fardon)",male,,0,0,SOTON/O.Q. 3101314,7.25,,S
1179,,1,"Snyder, Mr. John Pillsbury",male,24,1,0,21228,82.2667,B45,S
1180,,3,"Mardirosian, Mr. Sarkis",male,,0,0,2655,7.2292,F E46,C
1181,,3,"Ford, Mr. Arthur",male,,0,0,A/5 1478,8.05,,S
1182,,1,"Rheims, Mr. George Alexander Lucien",male,,0,0,PC 17607,39.6,,S
1183,,3,"Daly, Miss. Margaret Marcella Maggie""""",female,30,0,0,382650,6.95,,Q
1184,,3,"Nasr, Mr. Mustafa",male,,0,0,2652,7.2292,,C
1185,,1,"Dodge, Dr. Washington",male,53,1,1,33638,81.8583,A34,S
1186,,3,"Wittevrongel, Mr. Camille",male,36,0,0,345771,9.5,,S
1187,,3,"Angheloff, Mr. Minko",male,26,0,0,349202,7.8958,,S
1188,,2,"Laroche, Miss. Louise",female,1,1,2,SC/Paris 2123,41.5792,,C
1189,,3,"Samaan, Mr. Hanna",male,,2,0,2662,21.6792,,C
1190,,1,"Loring, Mr. Joseph Holland",male,30,0,0,113801,45.5,,S
1191,,3,"Johansson, Mr. Nils",male,29,0,0,347467,7.8542,,S
1192,,3,"Olsson, Mr. Oscar Wilhelm",male,32,0,0,347079,7.775,,S
1193,,2,"Malachard, Mr. Noel",male,,0,0,237735,15.0458,D,C
1194,,2,"Phillips, Mr. Escott Robert",male,43,0,1,S.O./P.P. 2,21,,S
1195,,3,"Pokrnic, Mr. Tome",male,24,0,0,315092,8.6625,,S
1196,,3,"McCarthy, Miss. Catherine Katie""""",female,,0,0,383123,7.75,,Q
1197,,1,"Crosby, Mrs. Edward Gifford (Catherine Elizabeth Halstead)",female,64,1,1,112901,26.55,B26,S
1198,,1,"Allison, Mr. Hudson Joshua Creighton",male,30,1,2,113781,151.55,C22 C26,S
1199,,3,"Aks, Master. Philip Frank",male,0.83,0,1,392091,9.35,,S
1200,,1,"Hays, Mr. Charles Melville",male,55,1,1,12749,93.5,B69,S
1201,,3,"Hansen, Mrs. Claus Peter (Jennie L Howard)",female,45,1,0,350026,14.1083,,S
1202,,3,"Cacic, Mr. Jego Grga",male,18,0,0,315091,8.6625,,S
1203,,3,"Vartanian, Mr. David",male,22,0,0,2658,7.225,,C
1204,,3,"Sadowitz, Mr. Harry",male,,0,0,LP 1588,7.575,,S
1205,,3,"Carr, Miss. Jeannie",female,37,0,0,368364,7.75,,Q
1206,,1,"White, Mrs. John Stuart (Ella Holmes)",female,55,0,0,PC 17760,135.6333,C32,C
1207,,3,"Hagardon, Miss. Kate",female,17,0,0,AQ/3. 30631,7.7333,,Q
1208,,1,"Spencer, Mr. William Augustus",male,57,1,0,PC 17569,146.5208,B78,C
1209,,2,"Rogers, Mr. Reginald Harry",male,19,0,0,28004,10.5,,S
1210,,3,"Jonsson, Mr. Nils Hilding",male,27,0,0,350408,7.8542,,S
1211,,2,"Jefferys, Mr. Ernest Wilfred",male,22,2,0,C.A. 31029,31.5,,S
1212,,3,"Andersson, Mr. Johan Samuel",male,26,0,0,347075,7.775,,S
1213,,3,"Krekorian, Mr. Neshan",male,25,0,0,2654,7.2292,F E57,C
1214,,2,"Nesson, Mr. Israel",male,26,0,0,244368,13,F2,S
1215,,1,"Rowe, Mr. Alfred G",male,33,0,0,113790,26.55,,S
1216,,1,"Kreuchen, Miss. Emilie",female,39,0,0,24160,211.3375,,S
1217,,3,"Assam, Mr. Ali",male,23,0,0,SOTON/O.Q. 3101309,7.05,,S
1218,,2,"Becker, Miss. Ruth Elizabeth",female,12,2,1,230136,39,F4,S
1219,,1,"Rosenshine, Mr. George (Mr George Thorne"")""",male,46,0,0,PC 17585,79.2,,C
1220,,2,"Clarke, Mr. Charles Valentine",male,29,1,0,2003,26,,S
1221,,2,"Enander, Mr. Ingvar",male,21,0,0,236854,13,,S
1222,,2,"Davies, Mrs. John Morgan (Elizabeth Agnes Mary White) ",female,48,0,2,C.A. 33112,36.75,,S
1223,,1,"Dulles, Mr. William Crothers",male,39,0,0,PC 17580,29.7,A18,C
1224,,3,"Thomas, Mr. Tannous",male,,0,0,2684,7.225,,C
1225,,3,"Nakid, Mrs. Said (Waika Mary"" Mowad)""",female,19,1,1,2653,15.7417,,C
1226,,3,"Cor, Mr. Ivan",male,27,0,0,349229,7.8958,,S
1227,,1,"Maguire, Mr. John Edward",male,30,0,0,110469,26,C106,S
1228,,2,"de Brito, Mr. Jose Joaquim",male,32,0,0,244360,13,,S
1229,,3,"Elias, Mr. Joseph",male,39,0,2,2675,7.2292,,C
1230,,2,"Denbury, Mr. Herbert",male,25,0,0,C.A. 31029,31.5,,S
1231,,3,"Betros, Master. Seman",male,,0,0,2622,7.2292,,C
1232,,2,"Fillbrook, Mr. Joseph Charles",male,18,0,0,C.A. 15185,10.5,,S
1233,,3,"Lundstrom, Mr. Thure Edvin",male,32,0,0,350403,7.5792,,S
1234,,3,"Sage, Mr. John George",male,,1,9,CA. 2343,69.55,,S
1235,,1,"Cardeza, Mrs. James Warburton Martinez (Charlotte Wardle Drake)",female,58,0,1,PC 17755,512.3292,B51 B53 B55,C
1236,,3,"van Billiard, Master. James William",male,,1,1,A/5. 851,14.5,,S
1237,,3,"Abelseth, Miss. Karen Marie",female,16,0,0,348125,7.65,,S
1238,,2,"Botsford, Mr. William Hull",male,26,0,0,237670,13,,S
1239,,3,"Whabee, Mrs. George Joseph (Shawneene Abi-Saab)",female,38,0,0,2688,7.2292,,C
1240,,2,"Giles, Mr. Ralph",male,24,0,0,248726,13.5,,S
1241,,2,"Walcroft, Miss. Nellie",female,31,0,0,F.C.C. 13528,21,,S
1242,,1,"Greenfield, Mrs. Leo David (Blanche Strouse)",female,45,0,1,PC 17759,63.3583,D10 D12,C
1243,,2,"Stokes, Mr. Philip Joseph",male,25,0,0,F.C.C. 13540,10.5,,S
1244,,2,"Dibden, Mr. William",male,18,0,0,S.O.C. 14879,73.5,,S
1245,,2,"Herman, Mr. Samuel",male,49,1,2,220845,65,,S
1246,,3,"Dean, Miss. Elizabeth Gladys Millvina""""",female,0.17,1,2,C.A. 2315,20.575,,S
1247,,1,"Julian, Mr. Henry Forbes",male,50,0,0,113044,26,E60,S
1248,,1,"Brown, Mrs. John Murray (Caroline Lane Lamson)",female,59,2,0,11769,51.4792,C101,S
1249,,3,"Lockyer, Mr. Edward",male,,0,0,1222,7.8792,,S
1250,,3,"O'Keefe, Mr. Patrick",male,,0,0,368402,7.75,,Q
1251,,3,"Lindell, Mrs. Edvard Bengtsson (Elin Gerda Persson)",female,30,1,0,349910,15.55,,S
1252,,3,"Sage, Master. William Henry",male,14.5,8,2,CA. 2343,69.55,,S
1253,,2,"Mallet, Mrs. Albert (Antoinette Magnin)",female,24,1,1,S.C./PARIS 2079,37.0042,,C
1254,,2,"Ware, Mrs. John James (Florence Louise Long)",female,31,0,0,CA 31352,21,,S
1255,,3,"Strilic, Mr. Ivan",male,27,0,0,315083,8.6625,,S
1256,,1,"Harder, Mrs. George Achilles (Dorothy Annan)",female,25,1,0,11765,55.4417,E50,C
1257,,3,"Sage, Mrs. John (Annie Bullen)",female,,1,9,CA. 2343,69.55,,S
1258,,3,"Caram, Mr. Joseph",male,,1,0,2689,14.4583,,C
1259,,3,"Riihivouri, Miss. Susanna Juhantytar Sanni""""",female,22,0,0,3101295,39.6875,,S
1260,,1,"Gibson, Mrs. Leonard (Pauline C Boeson)",female,45,0,1,112378,59.4,,C
1261,,2,"Pallas y Castello, Mr. Emilio",male,29,0,0,SC/PARIS 2147,13.8583,,C
1262,,2,"Giles, Mr. Edgar",male,21,1,0,28133,11.5,,S
1263,,1,"Wilson, Miss. Helen Alice",female,31,0,0,16966,134.5,E39 E41,C
1264,,1,"Ismay, Mr. Joseph Bruce",male,49,0,0,112058,0,B52 B54 B56,S
1265,,2,"Harbeck, Mr. William H",male,44,0,0,248746,13,,S
1266,,1,"Dodge, Mrs. Washington (Ruth Vidaver)",female,54,1,1,33638,81.8583,A34,S
1267,,1,"Bowen, Miss. Grace Scott",female,45,0,0,PC 17608,262.375,,C
1268,,3,"Kink, Miss. Maria",female,22,2,0,315152,8.6625,,S
1269,,2,"Cotterill, Mr. Henry Harry""""",male,21,0,0,29107,11.5,,S
1270,,1,"Hipkins, Mr. William Edward",male,55,0,0,680,50,C39,S
1271,,3,"Asplund, Master. Carl Edgar",male,5,4,2,347077,31.3875,,S
1272,,3,"O'Connor, Mr. Patrick",male,,0,0,366713,7.75,,Q
1273,,3,"Foley, Mr. Joseph",male,26,0,0,330910,7.8792,,Q
1274,,3,"Risien, Mrs. Samuel (Emma)",female,,0,0,364498,14.5,,S
1275,,3,"McNamee, Mrs. Neal (Eileen O'Leary)",female,19,1,0,376566,16.1,,S
1276,,2,"Wheeler, Mr. Edwin Frederick""""",male,,0,0,SC/PARIS 2159,12.875,,S
1277,,2,"Herman, Miss. Kate",female,24,1,2,220845,65,,S
1278,,3,"Aronsson, Mr. Ernst Axel Algot",male,24,0,0,349911,7.775,,S
1279,,2,"Ashby, Mr. John",male,57,0,0,244346,13,,S
1280,,3,"Canavan, Mr. Patrick",male,21,0,0,364858,7.75,,Q
1281,,3,"Palsson, Master. Paul Folke",male,6,3,1,349909,21.075,,S
1282,,1,"Payne, Mr. Vivian Ponsonby",male,23,0,0,12749,93.5,B24,S
1283,,1,"Lines, Mrs. Ernest H (Elizabeth Lindsey James)",female,51,0,1,PC 17592,39.4,D28,S
1284,,3,"Abbott, Master. Eugene Joseph",male,13,0,2,C.A. 2673,20.25,,S
1285,,2,"Gilbert, Mr. William",male,47,0,0,C.A. 30769,10.5,,S
1286,,3,"Kink-Heilmann, Mr. Anton",male,29,3,1,315153,22.025,,S
1287,,1,"Smith, Mrs. Lucien Philip (Mary Eloise Hughes)",female,18,1,0,13695,60,C31,S
1288,,3,"Colbert, Mr. Patrick",male,24,0,0,371109,7.25,,Q
1289,,1,"Frolicher-Stehli, Mrs. Maxmillian (Margaretha Emerentia Stehli)",female,48,1,1,13567,79.2,B41,C
1290,,3,"Larsson-Rondberg, Mr. Edvard A",male,22,0,0,347065,7.775,,S
1291,,3,"Conlon, Mr. Thomas Henry",male,31,0,0,21332,7.7333,,Q
1292,,1,"Bonnell, Miss. Caroline",female,30,0,0,36928,164.8667,C7,S
1293,,2,"Gale, Mr. Harry",male,38,1,0,28664,21,,S
1294,,1,"Gibson, Miss. Dorothy Winifred",female,22,0,1,112378,59.4,,C
1295,,1,"Carrau, Mr. Jose Pedro",male,17,0,0,113059,47.1,,S
1296,,1,"Frauenthal, Mr. Isaac Gerald",male,43,1,0,17765,27.7208,D40,C
1297,,2,"Nourney, Mr. Alfred (Baron von Drachstedt"")""",male,20,0,0,SC/PARIS 2166,13.8625,D38,C
1298,,2,"Ware, Mr. William Jeffery",male,23,1,0,28666,10.5,,S
1299,,1,"Widener, Mr. George Dunton",male,50,1,1,113503,211.5,C80,C
1300,,3,"Riordan, Miss. Johanna Hannah""""",female,,0,0,334915,7.7208,,Q
1301,,3,"Peacock, Miss. Treasteall",female,3,1,1,SOTON/O.Q. 3101315,13.775,,S
1302,,3,"Naughton, Miss. Hannah",female,,0,0,365237,7.75,,Q
1303,,1,"Minahan, Mrs. William Edward (Lillian E Thorpe)",female,37,1,0,19928,90,C78,Q
1304,,3,"Henriksson, Miss. Jenny Lovisa",female,28,0,0,347086,7.775,,S
1305,,3,"Spector, Mr. Woolf",male,,0,0,A.5. 3236,8.05,,S
1306,,1,"Oliva y Ocana, Dona. Fermina",female,39,0,0,PC 17758,108.9,C105,C
1307,,3,"Saether, Mr. Simon Sivertsen",male,38.5,0,0,SOTON/O.Q. 3101262,7.25,,S
1308,,3,"Ware, Mr. Frederick",male,,0,0,359309,8.05,,S
1309,,3,"Peter, Master. Michael J",male,,1,1,2668,22.3583,,C
Source diff could not be displayed: it is too large. Options to address this: view the blob.
%% Cell type:code id:631fea4f-3022-471d-97c0-0888a78d2bea tags:
``` python
#%matplotlib widget
%matplotlib inline
```
%% Cell type:markdown id:7425925e-b520-4d87-bf6b-3152f60c19ca tags:
# <center>**Cours**</center>
<img src="../images/logo2_matplotlib.svg" style="margin:0 auto;">
<div style="text-align:center">
Bertrand Néron
<br>
<a src=" https://research.pasteur.fr/en/team/bioinformatics-and-biostatistics-hub/">Bioinformatics and Biostatistiqucs HUB</a>
<br />
© Institut Pasteur, 2021
</div>
%% Cell type:markdown id:9f7ef4ec-9a15-4fbb-8c91-7784d6838499 tags:
# Motivation
%% Cell type:markdown id:90fe735b-9570-4b4b-8f1f-e6116de7b4de tags:
# Installation
* open a shell
* activate the virtualenv (*source <prefix>/bin/activate*)
and type:
```
pip install matplotlib
```
*You may need root permission if you do not use a virtualenv.*
%% Cell type:markdown id:d2fcbe0d-6c5d-4cd5-a7cb-1de3c6168a1d tags:
# Using matplotlib
%% Cell type:code id:abbbacce-63d9-435f-bb08-f54ff1c9143a tags:
``` python
import matplotlib
import matplotlib.pyplot as plt
```
%% Cell type:markdown id:ee76e2e5-e737-451f-bd60-055f41923b93 tags:
# Concepts and Terminology
%% Cell type:markdown id:8aa36c70-6bd7-4264-aa57-f83781c1c108 tags:
<img src="../images/mplt_concept.png" width="600px">
> https://matplotlib.org/stable/tutorials/introductory/usage.html#parts-of-a-figure
%% Cell type:markdown id:2fa77d5e-74ae-435f-b28a-a9dd8880dc5c tags:
### Figure
The figure is like a canvas where all you Axes (plots) where drawn.
A figuer acn containes several Axes (plots) but to be useful should have at least one.
The easiest way to create a new figure is with pyplot:
%% Cell type:code id:99a6eba9-6e9f-4697-9778-143163d2280a tags:
``` python
fig = plt.figure() # an empty figure with no axes
```
%% Cell type:code id:b16c62d1-dd07-488a-a018-3a81b7a2860d tags:
``` python
fig, ax_lst = plt.subplots(2, 2) # a figure with a 2x2 grid of Axes
```
%% Cell type:markdown id:bc55f943-cca6-4522-aec2-ca766995f8db tags:
### Axes
This is what you think of as ‘a plot’.
* The Axes contains two (or three in the case of 3D) **Axis** objects
* Each Axes has a title
* Each Axes can contain a legend
### Axis
These are the number-line-like objects.
### Labels
This the "legend" of Axis. There is 2 labels for 2D plots the ``x_label`` and ``y_label``
### Ticks
The ticks arethe marks on the axis and ticklabels (strings labeling the ticks).
the is two kind of ticks, major and minor ticks.
by default they are automaticaly generated by the axis.
but they can be configured.
%% Cell type:markdown id:bf8fce4d-0271-4b5d-8c7a-f2d2a310aed8 tags:
# Coding styles
When viewing matplotlib code, you will find different coding styles and usage patterns.
* matlab style
* object-oriented style
These styles are perfectly valid and have their pros and cons.
The only caveat is to avoid mixing the coding styles for your own code.
matlab style is fine for small interface like in notebook,
whereas to have even more control in application embeding matplotlib GUI the pyplot level may be dropped completely, leaving a purely object-oriented approach.
%% Cell type:markdown id:a717bf5e-194f-43a5-8b8c-46e04a129236 tags:
## pyplot functional style (*aka matlab style*)
%% Cell type:code id:c61e6d40-84f4-4610-91d7-597a031b307f tags:
``` python
plt.plot([1, 2, 3])
plt.title('hi mom')
plt.grid(True)
plt.xlabel('time')
plt.ylabel('volts')
```
%% Cell type:markdown id:de91852f-663e-4156-b2fb-c4892333825c tags:
## Object oriented style
%% Cell type:code id:85e712cb-b2d1-4f4b-8d47-8ad388a745b4 tags:
``` python
fig, ax = plt.subplots() # by default 1 row, 1 column, 1 axe
ax.plot([1, 2, 3])
ax.set_title('hi mom')
ax.grid(True)
ax.set_xlabel('time')
ax.set_ylabel('volts')
```
%% Cell type:markdown id:524e79fd-17b5-4d19-b417-eb46428b8e87 tags:
In this notebook we will use the *pyplot functional coding style*
%% Cell type:markdown id:47fb81f9-5bfd-4a97-b603-d6fa06b1084a tags:
## Dive into matplotlib
Now we are going to learn to use some compounds.
To the demos belows we will need of *numpy* and *pandas* packages
%% Cell type:code id:57e41359-cf96-4bf3-ac6c-f7778bf46b43 tags:
``` python
import numpy as np
import pandas as pd
```
%% Cell type:markdown id:b7dfc1c5-8602-4d8e-8f75-4994b8508b5f tags:
# Plot
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html
%% Cell type:markdown id:3f3ce2b1-198f-41a5-80f1-fde2d7272bbd tags:
## One variable
%% Cell type:code id:11b3d419-688e-47fc-882e-4cc5167283e5 tags:
``` python
temp = pd.read_csv("../data/fr_sp_it_temp.tsv", sep="\t", header=0, index_col=0)
temp
```
%% Cell type:code id:99d54202-c825-4dbc-8c25-b7631cb814e4 tags:
``` python
paris = temp[temp.City == 'Paris']
paris
```
%% Cell type:code id:b13ce1af-fcba-41a4-8270-15b18bbe6f9b tags:
``` python
plt.plot(paris['Tmp'])
```
%% Cell type:code id:ebb4469b-dd16-4047-8833-f9c01b234f46 tags:
``` python
```
%% Cell type:markdown id:ae6a2a70-d851-49a1-a8dc-3c73d6041b51 tags:
## Two variables
%% Cell type:code id:f9d20f59-c49b-442a-a882-c899590ce5ec tags:
``` python
plt.plot(paris['Year'],paris['Tmp'])
```
%% Cell type:code id:bb79414d-cce0-4fa3-9ae1-4cbf55207e66 tags:
``` python
plt.plot(paris['Year'],paris['Tmp'],
marker='o')
```
%% Cell type:code id:6e5b03a8-1502-4ecc-8a0c-623a4bc0932e tags:
``` python
plt.plot(paris['Year'],paris['Tmp'],
marker='o',
linestyle=''
)
```
%% Cell type:code id:5942e686-e65c-40d4-a58e-54828f4186b3 tags:
``` python
plt.plot(paris['Year'],paris['Tmp'],
marker='s',
color='red',
linestyle='--'
)
```
%% Cell type:code id:540467bb-46ff-444c-b575-6abe145a20b3 tags:
``` python
plt.plot(paris['Year'],paris['Tmp'],
marker='v',
color='brown',
linestyle='-.'
)
```
%% Cell type:markdown id:ece2ad49-59c4-4f40-b65d-bd8e228598b8 tags:
all available linestyles, markers and colors are described in https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html
%% Cell type:markdown id:08767e1e-c7e1-48d6-908a-72d91fafb7d2 tags:
## Several plots
%% Cell type:code id:bac9a02e-8301-4885-b34a-8d91fff234e4 tags:
``` python
bdx = temp[temp.City == 'Bordeaux']
plt.plot(paris['Year'], paris['Tmp'], label='Paris')
plt.plot(bdx['Year'], bdx['Tmp'], label='Bordeaux')
plt.legend()
```
%% Cell type:code id:7e9383b8-3ace-4042-a0f5-91071e56257b tags:
``` python
for city, df in temp.groupby('City'):
plt.plot(df['Year'], df['Tmp'], label=city)
plt.legend(ncol=2)
plt.xlabel("Year")
plt.ylabel("Tp in °F")
plt.title("Average Temperature")
```
%% Cell type:code id:70924d07-7d98-4f8d-8bcf-de595c44be3e tags:
``` python
paris_max = paris['Tmp'] + paris['std']
paris_min = paris['Tmp'] - paris['std']
plt.plot(paris['Year'], paris['Tmp'], label= "Paris" )
plt.fill_between(paris['Year'],
paris_max,
y2=paris_min,
alpha=0.5
)
plt.legend()
```
%% Cell type:markdown id:aa620f3b-ced6-4ed3-9f4c-73abbdc86841 tags:
## xlabel and ylabel
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.xlabel.html
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.ylabel.html
%% Cell type:code id:d241268f-7265-424c-9d5c-aa554cb2aa16 tags:
``` python
paris_max = paris['Tmp'] + paris['std']
paris_min = paris['Tmp'] - paris['std']
plt.plot(paris['Year'], paris['Tmp'], label= "Paris" )
plt.fill_between(paris['Year'],
paris_max,
y2=paris_min,
color="orange",
alpha=0.5
)
plt.xlabel('Year')
plt.ylabel('Temp in °F')
plt.legend()
```
%% Cell type:markdown id:48c27e9b-6a4c-4751-8d65-2b18ebc4bce6 tags:
## Legend
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.legend.html
%% Cell type:code id:6c674b4b-0107-44ab-92f0-30800cce309e tags:
``` python
plt.plot(paris['Year'], paris['Tmp'], label='Paris')
plt.plot(bdx['Year'], bdx['Tmp'], label='Bordeaux')
plt.legend(['T°F at Paris', 'T°F at Bordeaux'], ncol=2)
```
%% Cell type:code id:f3d98bc4-0ab2-4ee4-87bf-7cafe9e96954 tags:
``` python
plt.plot(paris['Year'], paris['Tmp'], label='Paris')
plt.plot(bdx['Year'], bdx['Tmp'], label='Bordeaux')
plt.legend(['T°F at Paris', 'T°F at Bordeaux'], loc="upper right")
```
%% Cell type:markdown id:8c8d4209-6ca9-4ff8-b7dd-45960257ab50 tags:
## Title
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.title.html
%% Cell type:code id:8a912d1e-12d9-48d1-b77b-620ac69c7cec tags:
``` python
plt.plot(paris['Year'], paris['Tmp'], label='Paris')
plt.plot(bdx['Year'], bdx['Tmp'], label='Bordeaux')
plt.legend(['T°F at Paris', 'T°F at Bordeaux'])
plt.title("average temp in France")
```
%% Cell type:markdown id:6a84d787-3591-4e9f-b46d-709f0df54c30 tags:
## Grid
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.grid.html
%% Cell type:code id:39f2e186-c45c-4068-a93a-13c99ee102b0 tags:
``` python
plt.plot(paris['Year'], paris['Tmp'], label='Paris')
plt.plot(bdx['Year'], bdx['Tmp'], label='Bordeaux')
plt.legend(['T°F at Paris', 'T°F at Bordeaux'])
plt.grid(ls=':') # ls = linestyle
plt.title("average temp in France")
```
%% Cell type:markdown id:d611387d-2153-4f0f-aa6a-f31cf2c8ce43 tags:
## xlim, ylim, axvline, axhline
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.xlim.html
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.lim.html
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.axvline.html
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.axhline.html
%% Cell type:code id:f256b620-8b59-477e-afc4-9f5dc65817eb tags:
``` python
plt.plot(paris['Year'], paris['Tmp'], label='Paris')
plt.plot(bdx['Year'], bdx['Tmp'], label='Bordeaux')
plt.axvline(2008, color="red", linestyle="--")
plt.axhline(55, linestyle="-.")
plt.xticks(np.arange(1998, 2019, 2))
plt.xlim([1998,2018])
plt.ylim(50,60)
```
%% Cell type:markdown id:3dffdb47-04cd-409c-b23b-cb7090c24286 tags:
## loglog and semilog
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.loglog.html
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.semilogx.html
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.semilogy.html
%% Cell type:code id:cfcf593b-53d9-431b-bf04-7094b345d6e6 tags:
``` python
plt.semilogy(paris['Year'], paris['Tmp'],
marker='*',
markersize=15,
markeredgecolor="k" # short option = mec
)
plt.grid()
```
%% Cell type:code id:07bf81ea-93e7-4f50-aa3c-45ec748fcbea tags:
``` python
plt.loglog(paris['Year'], paris['Tmp'], marker='X')
plt.grid(True, which="both", linestyle='--')
```
%% Cell type:markdown id:d11439d9-b1b9-42fc-9be3-82e22dbd3d2c tags:
# Histogram
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.hist.html
A histogram is a plot that lets you discover, and show, the underlying frequency distribution (shape) of a set of continuous data. This allows the inspection of the data for its underlying distribution (e.g., normal distribution), outliers, skewness, etc.
Histograms are based on area, not height of bars
In a histogram, it is the area of the bar that indicates the frequency of occurrences for each bin. This means that the height of the bar does not necessarily indicate how many occurrences of scores there were within each individual bin. It is the product of height multiplied by the width of the bin that indicates the frequency of occurrences within that bin. One of the reasons that the height of the bars is often incorrectly assessed as indicating frequency and not the area of the bar is due to the fact that a lot of histograms often have equally spaced bars (bins), and under these circumstances, the height of the bin does reflect the frequency.
What is the difference between a bar chart and a histogram?
The major difference is that a histogram is only used to plot the frequency of score occurrences in a **continuous** data set that has been divided into classes, called bins. Bar charts, on the other hand, can be used for a great deal of other types of variables including ordinal and nominal data sets.
https://statistics.laerd.com/statistical-guides/understanding-histograms.php
%% Cell type:code id:297366ed-d133-460c-be02-7753f52a640e tags:
``` python
iris = pd.read_csv('../data/Iris.csv', sep=',' , header=0, index_col='Id' )
iris.head()
```
%% Cell type:code id:ea14337d-06c1-4c90-aaa1-3e9012a05fc4 tags:
``` python
sepal_len = iris.iloc[:, 0]
bins = 20
n , plt_bins,patches = plt.hist(sepal_len, bins)
plt.title("Histogram sepal Length")
plt.xlabel("sepal length in cm")
plt.ylabel("frequency")
```
%% Cell type:markdown id:81d0d71a-629d-4478-9415-061311282839 tags:
## Influence of bins
%% Cell type:code id:194c61a8-b22f-4c06-89b8-1e255b818ef5 tags:
``` python
bins = 200
n , plt_bins,patches = plt.hist(sepal_len, bins)
plt.title("too many bins")
plt.xlabel("sepal length in cm")
plt.ylabel("frequency")
```
%% Cell type:code id:d9847d87-63be-441e-909c-6404809008f4 tags:
``` python
bins = 4
n , plt_bins,patches = plt.hist(sepal_len, bins)
plt.title("not enought bins")
plt.xlabel("sepal length in cm")
plt.ylabel("frequency")
```
%% Cell type:markdown id:1431708b-f346-418c-8969-b6b1b2c9f6fc tags:
## several Histograms on the same figure
%% Cell type:code id:11ade1ad-9733-4b0f-86e9-edb8e9a6a2e7 tags:
``` python
sepal_len = iris.iloc[:, 0]
petal_len = iris.iloc[:, 2]
bins = 20
n , plt_bins,patches = plt.hist(sepal_len, bins,
edgecolor='k',
alpha=0.5,
label='sepal length'
)
n , plt_bins,patches = plt.hist(petal_len, bins,
edgecolor='k',
alpha=0.5,
label='petal length'
)
plt.legend()
plt.title("Histogram sepal Length")
plt.xlabel("sepal length in cm")
plt.ylabel("frequency")
```
%% Cell type:code id:bf6c136d-337a-4dac-9212-be743c07e1fe tags:
``` python
sepal_len = iris.iloc[:, 0]
petal_len = iris.iloc[:, 2]
bins = 20
n , plt_bins,patches = plt.hist([sepal_len, petal_len],
bins,
edgecolor='k',
density=True
)
plt.legend(['sepal length', 'petal length'])
plt.title("Histogram sepal Length")
plt.xlabel("sepal length in cm")
plt.ylabel("frequency")
```
%% Cell type:code id:128b2fe5-2de6-4844-b6c1-e318df38f964 tags:
``` python
n , plt_bins,patches = plt.hist(sepal_len,
bins,
edgecolor='k',
density=True
)
```
%% Cell type:markdown id:d6673305-c6df-4053-9b6a-4b63bf882bdf tags:
# Histogram 2D
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.hist2d.html
2D histograms are useful when you need to analyse the relationship between 2 numerical variables that have a huge number of values. It is useful for avoiding the over-plotted scatterplots.
Given a set of ordered pairs describing data points, you can count the number of points with similar values to construct a two-dimensional histogram. This is similar to a one-dimensional histogram, but it describes the joint variation of two random variables rather than just one.
%% Cell type:code id:ae5735f7-4a8a-471c-b8e6-7ae7bdede2b7 tags:
``` python
petal_len = iris.loc[:, 'PetalLengthCm']
```
%% Cell type:code id:cf74efc2-5322-46df-a8ec-363adfe67f4f tags:
``` python
_ = plt.hist2d(sepal_len, petal_len, bins=(25, 25), cmap=plt.cm.jet)
plt.xlabel('Sepal lenght (cm)')
plt.ylabel('Petal length (cm)')
plt.title('sepal lenght vs petal length' )
```
%% Cell type:markdown id:4a4380ee-5b86-4a54-8ba8-b7e4aeccb141 tags:
# Bar plot
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.bar.html
%% Cell type:markdown id:02f41b9b-5d55-4b37-9dd1-de88cb702d7e tags:
## Vertical bar plot
%% Cell type:code id:10543a41-2d3e-416b-abcb-0a92f7fd429b tags:
``` python
iris_desc = iris.describe()
iris_desc
```
%% Cell type:code id:5114531d-9a90-4480-9d67-248afbf4c8ad tags:
``` python
iris_means = iris_desc.loc['mean', :]
iris_means.shape
```
%% Cell type:code id:873e3079-951d-46f8-9f8f-5a65951fa5cf tags:
``` python
iris_means.index
```
%% Cell type:code id:5ebd9556-230b-4ced-96d0-6a5af7e7c348 tags:
``` python
iris_means
```
%% Cell type:code id:55098bbf-f6c9-4491-a5e9-5e7570f6f387 tags:
``` python
recs = plt.bar(iris_desc.columns, iris_means, yerr=iris_desc.loc['std', :])
for idx, data in enumerate(iris_means):
plt.text(x=idx, y=data , s=f"{data:.2f}")
plt.ylabel("Average (in cm)")
```
%% Cell type:markdown id:da95aa03-236e-4a62-b31b-f6a1a0e4d506 tags:
now we want to compare each species
%% Cell type:code id:029be9d0-034c-4424-9ca8-957109a55fe5 tags:
``` python
averages = iris.groupby("Species").mean()
averages
```
%% Cell type:code id:5eea5d45-4aed-4ce0-9169-65f99b8e9a40 tags:
``` python
std = iris.groupby("Species").std()
std
```
%% Cell type:code id:97dc5299-ce2e-4900-85de-f2e5819904bc tags:
``` python
width = 0.25 # the bar width
x = np.arange(len(averages.columns)) # the xticks
for shift, specie in enumerate(averages.index, -1):
spec_avs = averages.loc[specie, :]
abscisses = x + (shift * width)
plt.bar(abscisses,
spec_avs,
width,
yerr=std.loc[specie, :],
label=specie)
for one_abcisse, av in zip(abscisses, spec_avs) :
plt.text(x=one_abcisse, y=av , s=f"{av:.2f}")
plt.xticks(x, averages.columns, rotation=-45)
plt.ylabel("Average (in cm)")
plt.legend()
```
%% Cell type:markdown id:7aba3fd5-9836-4a4e-9969-14a3fc0c076e tags:
### xticks
%% Cell type:markdown id:0013fa09-2b05-412f-ac8a-da87c3c3b038 tags:
In the example above we don not use the labels as first parameter of pyplot.bar.
But we use positions that allow us
* to center tick on the midel bar
* put one bar on the left (tick - bar width)
* one bar on the the right (tick + bar width)
and to put the name on the ticks we use the pyplot.xticks function
with the location of the ticks and the names to display.
%% Cell type:markdown id:3df1f2e0-9475-4656-8108-5cffb1ea4867 tags:
## Horizontal bar plot
Same as *pyplot.bar* but at horizontal.
But do not forget to use *xerr* instesd of *yerr* to display *std*
and switch *idx* and *data* for *x* and *y* for labels coordinates.
%% Cell type:code id:551754f2-888b-4c3e-8e05-3fe4d0ab58f9 tags:
``` python
recs = plt.barh(iris_desc.columns, iris_means, xerr=iris_desc.loc['std', :])
for idx, data in enumerate(iris_means):
plt.text(x=data, y= idx + 0.1 , s=f"{data:.2f}")
plt.ylabel("Average (in cm)")
```
%% Cell type:markdown id:37938ef4-fa71-48a0-9344-5811fb84ba33 tags:
# Boxplot
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.boxplot.html
Box plots visually show the distribution of numerical data and skewness through displaying the data quartiles (or percentiles) and averages.
Box plots show the five-number summary of a set of data: including the minimum score, first (lower) quartile, median, third (upper) quartile, and maximum score.
<div>
<img src="images/boxplot_explanation.png" />
</div>
for more explanation visithttps://www.simplypsychology.org/boxplots.html
%% Cell type:code id:e6a7c6be-f094-4fc3-bcb8-e036fb71f363 tags:
``` python
iris.columns[:-1]
```
%% Cell type:code id:15540dfc-8955-4736-983f-8290c53ec96e tags:
``` python
recs = plt.boxplot(iris.iloc[:, :-1],
tick_labels=iris.columns[:-1])
```
%% Cell type:markdown id:608af516-89cc-46a8-b1c2-f67317d50ee1 tags:
With a notch at the median
%% Cell type:code id:7e1a9570-dca5-41e3-8541-3003113a9571 tags:
``` python
recs = plt.boxplot(iris.iloc[:, :-1],
tick_labels=iris.columns[:-1],
notch=True)
```
%% Cell type:markdown id:d05085c7-afed-4d76-8113-27356056ba94 tags:
with colored box
%% Cell type:code id:7853d478-1d90-4dad-97af-3954ddd994fb tags:
``` python
res_boxes = plt.boxplot(iris.iloc[:, :-1],
tick_labels=iris.columns[:-1],
notch=True,
patch_artist=True)
```
%% Cell type:code id:f5a33448-1785-4697-893a-9e121a4b7ed4 tags:
``` python
color = ("orangered", "darkorange", "limegreen", "aqua")
res_boxes = plt.boxplot(iris.iloc[:, :-1],
tick_labels=iris.columns[:-1],
notch=True,
patch_artist=True)
for i, c in enumerate(color):
res_boxes['boxes'][i].set_facecolor(c)
```
%% Cell type:markdown id:c1526170-5092-44c6-b71a-67c464087df7 tags:
# Violin Plot
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.violinplot.html#matplotlib.pyplot.violinplot
Sometimes the median and mean aren't enough to understand a dataset. Are most of the values clustered around the median? Or are they clustered around the minimum and the maximum with nothing in the middle? When you have questions like these, distribution plots are your friends.
The box plot is an old standby for visualizing basic distributions. It's convenient for comparing summary statistics (such as range and quartiles), but it doesn't let you see variations in the data. For multimodal distributions (those with multiple peaks) this can be particularly limiting.
But fret not—this is where the violin plot comes in. A violin plot is a hybrid of a box plot and a kernel density plot, which shows peaks in the data.
formore explanation visit: https://mode.com/blog/violin-plot-examples/
%% Cell type:code id:49989052-9d0b-4d13-8136-b2579fa66005 tags:
``` python
```
%% Cell type:code id:0b21ac5f-a20c-402b-b4a3-8da33bbb245e tags:
``` python
ticks = np.arange(len(iris.columns[:-1]))
violin_res = plt.violinplot(iris.iloc[:, :-1],
ticks,
)
```
%% Cell type:markdown id:37be476b-2d22-4ef0-8f3b-5193e4bfaaef tags:
With small customization
%% Cell type:code id:11886a4b-d412-4975-a4c1-10621f4f7222 tags:
``` python
ticks = np.arange(len(iris.columns[:-1]))
violin_res = plt.violinplot(iris.iloc[:, :-1],
ticks,
showmeans=True,
)
_= plt.xticks(ticks, iris.columns[:-1], rotation=45)
for i, c in enumerate(color):
violin_res['bodies'][i].set_facecolor(c)
```
%% Cell type:markdown id:a0d205b0-f9cc-4a16-bfa6-d79ac9908cfa tags:
> for more customization: https://matplotlib.org/stable/gallery/statistics/customized_violin.html#sphx-glr-gallery-statistics-customized-violin-py
%% Cell type:markdown id:cdbd7179-6c53-4662-a9b8-aabb385805bb tags:
# Scatter plot
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.scatter.html
A scatter plot (aka scatter chart, scatter graph) uses dots to represent values for two different numeric variables. The position of each dot on the horizontal and vertical axis indicates values for an individual data point. Scatter plots are used to observe relationships between variables.
https://chartio.com/learn/charts/what-is-a-scatter-plot/
%% Cell type:code id:7c9deaef-7f5a-421c-a847-200da9846288 tags:
``` python
iris.columns
```
%% Cell type:code id:cfab318e-1428-4b55-9869-d917e1df2521 tags:
``` python
plt.scatter(iris['SepalLengthCm'], iris['SepalWidthCm'])
plt.xlabel('sepal length in (cm)')
plt.ylabel('sepal width in (cm)')
plt.title('Scatter plot Iris sepal')
```
%% Cell type:markdown id:c8ef0536-f98c-4ac3-99fa-b59e41136207 tags:
It's nice but we have nothing very evident appear.
But there is several sepcies in dataset so we ca colored diferently each specie
%% Cell type:code id:56403c92-c573-4c49-befe-fb96f5cb4034 tags:
``` python
plt.figure(figsize=(8,6)) #in inches
for specie, data in iris.groupby('Species'):
plt.scatter(data['SepalLengthCm'], data['SepalWidthCm'], label=specie )
plt.xlabel('sepal length in (cm)')
plt.ylabel('sepal width in (cm)')
plt.legend()
plt.title('Scatter plot Iris sepal')
plt.grid()
```
%% Cell type:code id:8277527e-8912-4d9c-8506-2d5899fcdf1e tags:
``` python
plt.figure(figsize=(8,6))
for specie, data in iris.groupby('Species'):
plt.scatter(data['SepalLengthCm'], data['SepalWidthCm'],
s=150, # the dot size
label=specie )
```
%% Cell type:markdown id:0aecda7b-598a-4154-bda7-4ea33fee9f62 tags:
Let's get a new data set with more data
%% Cell type:code id:f6b9c462-b1f0-4636-91bf-a786b4a62a02 tags:
``` python
data_for_plt = pd.read_csv("../data/data_for_plt.csv", sep="\t", header=0, index_col=0)
data_for_plt.columns = ['MW', 'AlogP', 'PSA', 'HBA']
data_for_plt.head()
```
%% Cell type:code id:72b392ba-459b-4e00-a363-f72f589d0b9a tags:
``` python
x = data_for_plt['MW']
y = data_for_plt['AlogP']
plt.scatter(x, y)
```
%% Cell type:markdown id:3a3d9d8b-93f0-4f9b-bd1d-28c92eb1fb6a tags:
When the is lot of point it could be useful to use transparency to have a better data visualization
%% Cell type:code id:8473712b-f23a-4702-be31-218041abb88e tags:
``` python
plt.scatter(x, y,
alpha=0.5)
```
%% Cell type:markdown id:549f8e74-dfd7-4a94-a107-f2f03155072c tags:
The size can be set for each dot
use an array like (size of the x/y)
%% Cell type:code id:6b62354f-276c-403b-8780-92badbfb87c7 tags:
``` python
fig = plt.figure(figsize=(8,6))
plt.scatter(x, y,
s=data_for_plt['PSA'],
alpha=0.5)
```
%% Cell type:markdown id:0c11267a-82a4-41f9-b652-67fa705f2fd8 tags:
And now we want to colored each dot in function of the *HBA* value
%% Cell type:code id:114fc0a3-a7db-4022-8b66-ea3f14d85580 tags:
``` python
fig = plt.figure(figsize=(12,7))
plt.scatter(data_for_plt['MW'],
data_for_plt['AlogP'],
s=data_for_plt['PSA'],
c=data_for_plt['HBA'],
edgecolors="k",
alpha=0.5,
cmap="bwr")
cb = plt.colorbar()
plt.xlabel('Molecular Weight')
plt.ylabel('Hydrophobicity')
cb.ax.set_ylabel("Hydrogen Bond Acceptor", rotation=-90, va="bottom")
```
%% Cell type:markdown id:e8b5c24d-9993-447c-9b1e-cd8473acc131 tags:
# Color map
> https://matplotlib.org/stable/tutorials/colors/colormaps.html
> https://matplotlib.org/stable/gallery/color/named_colors.html
%% Cell type:code id:8329e2ea-645a-419d-a158-0687ad21fcbf tags:
``` python
fig = plt.figure(figsize=(12,7))
plt.scatter(data_for_plt['MW'],
data_for_plt['AlogP'],
s=data_for_plt['PSA'], # marker size accept an array
c=data_for_plt['HBA'], # marker color accept an array
edgecolors="k",
alpha=0.5,
cmap="hot")
cb = plt.colorbar()
plt.xlabel('Molecular Weight')
plt.ylabel('Hydrophobicity')
cb.ax.set_ylabel("Hydrogen Bond Acceptor", rotation=-90, va="bottom")
```
%% Cell type:markdown id:cda0efa7-45c7-4b2e-85b0-aed8c44e60d9 tags:
# 3D Plots
%% Cell type:markdown id:dc458d14-e159-4170-8640-eb897c43288d tags:
## 3D scatter plot
%% Cell type:code id:bce60bb6-22d4-43dd-b276-955a55caee5c tags:
``` python
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
for specie, data in iris.groupby('Species'):
ax.scatter(data['SepalLengthCm'],
data['SepalWidthCm'],
data['PetalLengthCm'],
s = data['PetalWidthCm'] * 10,
label=specie)
ax.set_xlabel('Sepal Lenght')
ax.set_ylabel('Sepal Width')
ax.set_zlabel('Petal Length')
plt.title('Iris 3d scatter plot')
plt.legend()
```
%% Cell type:markdown id:37ea32ed-6651-4e26-bcae-31b134693a25 tags:
# Heatmap
It is often desirable to show data which depends on two independent
variables as a color coded image plot.
This is often referred to as a heatmap.
If the data is categorical, this would be called a categorical heatmap.
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.imshow.html#matplotlib.pyplot.imshow
> https://matplotlib.org/stable/gallery/images_contours_and_fields/image_annotated_heatmap.html
%% Cell type:code id:11fbb4fa-49d7-4978-ba12-8936dc3ae614 tags:
``` python
# create a dataset
vegetables = ["cucumber", "tomato", "lettuce", "asparagus",
"potato", "wheat", "barley"]
farmers = ["Farmer Joe", "Upland Bros.", "Smith Gardening",
"Agrifun", "Organiculture", "BioGoods Ltd.",
"Cornylee Corp."]
# harvest is the production intons/year for each vegetable (row)
# by each farmer (columns)
harvest = np.array([[0.8, 2.4, 2.5, 3.9, 0.0, 4.0, 0.0],
[2.4, 0.0, 4.0, 1.0, 2.7, 0.0, 0.0],
[1.1, 2.4, 0.8, 4.3, 1.9, 4.4, 0.0],
[0.6, 0.0, 0.3, 0.0, 3.1, 0.0, 0.0],
[0.7, 1.7, 0.6, 2.6, 2.2, 6.2, 0.0],
[1.3, 1.2, 0.0, 0.0, 0.0, 3.2, 5.1],
[0.1, 2.0, 0.0, 1.4, 0.0, 1.9, 6.3]])
# create the heatmap
plt.imshow(harvest)
# We want to show all ticks...
# ... and label them with the respective list entries
xticks = plt.xticks(np.arange(len(farmers)), farmers,
rotation=45, ha="right", rotation_mode="anchor")
yticks = plt.yticks(np.arange(len(vegetables)), vegetables)
# Loop over data vegetables and farmers and annotate the heatmap.
for i in range(len(vegetables)):
for j in range(len(farmers)):
text = plt.text(j, i, # the coordinate of the cell
harvest[i, j], # the intensiy of the cell
ha="center", # horizontal alignment
va="center", # vertical alignment
color="w" if harvest[i, j] < 5 else "k")
# add a color bar
cbar = plt.colorbar()
# add a ylabel to the colorbar
# va = vertical alignment
cbar.ax.set_ylabel("Harvest (tons/year)", rotation=-90, va="bottom")
plt.title("Harvest of local farmers (in tons/year)")
```
%% Cell type:markdown id:e3574873-a57b-4b24-8828-d10442eb80e0 tags:
# Subplots
%% Cell type:markdown id:12249845-cb33-4af6-9b05-4665c2a7452d tags:
We can pack several plots in a figure.
There is several way to do that, here we describe the *pyplot.subplots* function
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.subplots.html
%% Cell type:code id:2f8b607d-d4e2-4e59-b71a-6c36feb759dc tags:
``` python
# in this case we use the oop coding style
fig, axs = plt.subplots(2,2, figsize=(9,7)) # 2 rows, 2 columns
_ = axs[0,0].hist(iris.iloc[:, 0], color='blue', edgecolor='k')
axs[0,0].set(xlabel='sepal length', ylabel='Frequency')
_ = axs[0,1].hist(iris.iloc[:, 1], color='orange')
axs[0,1].set(xlabel='sepal width', ylabel='Frequency')
_ = axs[1,0].hist(iris.iloc[:, 2], color='green', edgecolor='k')
axs[1,0].set(xlabel='petal length', ylabel='Frequency')
_ = axs[1,1].hist(iris.iloc[:, 3], color='red')
# an other way to set the label
axs[1,1].set_xlabel('petal length')
axs[1,1].set_ylabel('Frequency')
fig.suptitle('Iris Histograms')
plt.tight_layout()
```
%% Cell type:markdown id:903c98ca-f294-4b8a-8c43-c39d5900c628 tags:
# Save figure
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.savefig.html
%% Cell type:code id:84ec4abe-85e8-4ba0-a045-5fc2bf185a70 tags:
``` python
########## Create a figure ##########
fig, axs = plt.subplots(2,2, figsize=(9,7)) # 2 rows, 2 columns
_ = axs[0,0].hist(iris.iloc[:, 0], color='blue', edgecolor='k')
axs[0,0].set(xlabel='sepal length', ylabel='Frequency')
_ = axs[0,1].hist(iris.iloc[:, 1], color='orange')
axs[0,1].set(xlabel='sepal width', ylabel='Frequency')
_ = axs[1,0].hist(iris.iloc[:, 2], color='green', edgecolor='k')
axs[1,0].set(xlabel='petal length', ylabel='Frequency')
_ = axs[1,1].hist(iris.iloc[:, 3], color='red')
axs[1,1].set(xlabel='petal length', ylabel='Frequency')
fig.suptitle('Iris Histograms')
plt.tight_layout()
####### Save the figure in png format #########
plt.savefig('../images/iris_histograms.png')
```
%% Cell type:markdown id:547a8527-d169-4c0d-98ed-88001322550d tags:
# Conclusion
We have seen
* figure, axes, subplots notions
* plot
* hist
* hist2d
* bar plot
* boxplot
* scatter plot
* heatmap
* colormap
* xticks, xlabels, yticks, ylabels
* plot parameters: alpha, fontsize, marker, markersize, ...
But ther are so many others plots and functions in matplotlib
* meshgrid
* 3D plots
* pie chart
* violin plot
* ...
check the matplotlib galerie: https://matplotlib.org/stable/gallery/index.html#pyplot
and the cheat sheet: https://github.com/matplotlib/cheatsheets
%% Cell type:markdown id:a149f323-a3b8-4747-9be3-32f911f66d25 tags:
> the examples of this course are largely inspired from: https://towardsdatascience.com/matplotlib-tutorial-with-code-for-pythons-powerful-data-visualization-tool-8ec458423c5e
%% Cell type:code id:d4c8a2eb-4b98-408a-afb0-416257ad0d36 tags:
``` python
```
%% Cell type:markdown id:24c3d590-2420-444f-8628-bf77a175fa0b tags: %% Cell type:markdown id:24c3d590-2420-444f-8628-bf77a175fa0b tags:
<div style="text-align:center;display:block"> <div style="text-align:center;display:block">
<img src="./images/NumPy_logo_2020.png" style="margin:0 auto;width:400px"> <img src="../images/NumPy_logo_2020.png" style="margin:0 auto;width:400px">
<div style="text-align:center"> <div style="text-align:center">
Bertrand Néron Bertrand Néron
<br /> <br />
<a src=" https://research.pasteur.fr/en/team/bioinformatics-and-biostatistics-hub/">Bioinformatics and Biostatistiqucs HUB</a> <a src=" https://research.pasteur.fr/en/team/bioinformatics-and-biostatistics-hub/">Bioinformatics and Biostatistiqucs HUB</a>
<br /> <br />
© Institut Pasteur, 2021 © Institut Pasteur, 2021
</div> </div>
%% Cell type:markdown id:6fcc5f15-b7bf-415f-b714-645bfbc63317 tags: %% Cell type:markdown id:6fcc5f15-b7bf-415f-b714-645bfbc63317 tags:
# installation # installation
```python ```python
pip install numpy pip install numpy
``` ```
%% Cell type:markdown id:d1c677bf-8fa3-4fa0-9e69-315e45476533 tags: %% Cell type:markdown id:d1c677bf-8fa3-4fa0-9e69-315e45476533 tags:
# Convention # Convention
%% Cell type:code id:bcee0cf5-4c99-4100-88a8-ec3e1ecd2837 tags: %% Cell type:code id:bcee0cf5-4c99-4100-88a8-ec3e1ecd2837 tags:
``` python ``` python
import numpy as np import numpy as np
``` ```
%% Cell type:code id:044ab6d8-b09c-459e-99d8-8f9133747361 tags: %% Cell type:code id:044ab6d8-b09c-459e-99d8-8f9133747361 tags:
``` python ``` python
x = np.array([1,2,3]) x = np.array([1,2,3])
x x
``` ```
%% Output %% Output
array([1, 2, 3]) array([1, 2, 3])
%% Cell type:code id:4a6596da-ddfa-42e9-8dfc-72f90a5f0ef3 tags: %% Cell type:code id:4a6596da-ddfa-42e9-8dfc-72f90a5f0ef3 tags:
``` python ``` python
type(x) type(x)
``` ```
%% Output %% Output
numpy.ndarray numpy.ndarray
%% Cell type:markdown id:deb37026-83f1-4b42-a469-7300d953d2b7 tags: %% Cell type:markdown id:deb37026-83f1-4b42-a469-7300d953d2b7 tags:
*x* is an instance of the object **numpy.ndarray**. The constructor takes as argument a sequence. Here we provided a list hence the ([ ]) syntax. *x* is an instance of the object **numpy.ndarray**. The constructor takes as argument a sequence. Here we provided a list hence the ([ ]) syntax.
NB2: Following the previous nota bene about the syntax we have: NB2: Following the previous nota bene about the syntax we have:
```python ```python
a = np.array(1, 2, 3, 4) # WRONG a = np.array(1, 2, 3, 4) # WRONG
a = np.array([1, 2, 3, 4]) # RIGHT a = np.array([1, 2, 3, 4]) # RIGHT
``` ```
%% Cell type:markdown id:50834fdb-a7b0-4be4-aa0e-1bfe0a26947a tags: %% Cell type:markdown id:50834fdb-a7b0-4be4-aa0e-1bfe0a26947a tags:
## NumPy provides fast and memory efficient data structures ## NumPy provides fast and memory efficient data structures
%% Cell type:code id:ecccc640-d531-4c54-81b3-f85d34a8a827 tags: %% Cell type:code id:ecccc640-d531-4c54-81b3-f85d34a8a827 tags:
``` python ``` python
l = range(1000000) l = range(1000000)
%time sum(l) %time sum(l)
``` ```
%% Output %% Output
CPU times: user 27.2 ms, sys: 345 µs, total: 27.5 ms CPU times: user 21.4 ms, sys: 0 ns, total: 21.4 ms
Wall time: 27.6 ms Wall time: 21.3 ms
499999500000 499999500000
%% Cell type:code id:db3afb63-be2a-4724-b69f-041054fd7d41 tags: %% Cell type:code id:db3afb63-be2a-4724-b69f-041054fd7d41 tags:
``` python ``` python
x = np.array(l) x = np.array(l)
%time x.sum() %time x.sum()
``` ```
%% Output %% Output
CPU times: user 1.59 ms, sys: 0 ns, total: 1.59 ms CPU times: user 0 ns, sys: 1.47 ms, total: 1.47 ms
Wall time: 907 µs Wall time: 769 μs
499999500000 np.int64(499999500000)
%% Cell type:code id:333448ab-5b14-4ca9-ab2f-2fecbdadeaf9 tags: %% Cell type:code id:333448ab-5b14-4ca9-ab2f-2fecbdadeaf9 tags:
``` python ``` python
print(f"numpy is ~ {26.4/1.43:.0f} faster than pure python") print(f"numpy is ~ {26.4/1.43:.0f} faster than pure python")
``` ```
%% Output %% Output
numpy is ~ 18 faster than pure python numpy is ~ 18 faster than pure python
%% Cell type:markdown id:fc6aea51-6d56-4c8b-adbf-c54b91cf49a2 tags: %% Cell type:markdown id:fc6aea51-6d56-4c8b-adbf-c54b91cf49a2 tags:
### Example 2 ### Example 2
we want to compute the $\sum X_i^2$ given $X$ we want to compute the $\sum X_i^2$ given $X$
%% Cell type:code id:b94502d7-c31d-4db7-8ad8-595ab4ad7029 tags: %% Cell type:code id:b94502d7-c31d-4db7-8ad8-595ab4ad7029 tags:
``` python ``` python
l = range(1000000) l = range(1000000)
%time sum([x**2 for x in l]) %time sum([x**2 for x in l])
``` ```
%% Output %% Output
CPU times: user 286 ms, sys: 8.72 ms, total: 295 ms CPU times: user 73 ms, sys: 23.9 ms, total: 96.9 ms
Wall time: 294 ms Wall time: 96.1 ms
333332833333500000 333332833333500000
%% Cell type:code id:e942f0d5-b41d-48be-86fe-2207581db30e tags: %% Cell type:code id:e942f0d5-b41d-48be-86fe-2207581db30e tags:
``` python ``` python
x = np.array(l) x = np.array(l)
%time (x**2).sum() %time (x**2).sum()
``` ```
%% Output %% Output
CPU times: user 2.27 ms, sys: 186 µs, total: 2.46 ms CPU times: user 1.74 ms, sys: 1.07 ms, total: 2.81 ms
Wall time: 1.76 ms Wall time: 1.57 ms
333332833333500000 np.int64(333332833333500000)
%% Cell type:code id:212d4ec5-bc87-4907-92c0-6aae8ec53d76 tags: %% Cell type:code id:212d4ec5-bc87-4907-92c0-6aae8ec53d76 tags:
``` python ``` python
print(f"numpy is ~ {265/2.28:.0f} faster than pure python") print(f"numpy is ~ {265/2.28:.0f} faster than pure python")
``` ```
%% Output %% Output
numpy is ~ 116 faster than pure python numpy is ~ 116 faster than pure python
%% Cell type:markdown id:1bc9282c-fb8f-4e4e-a3d6-5a8fe09c6681 tags: %% Cell type:markdown id:1bc9282c-fb8f-4e4e-a3d6-5a8fe09c6681 tags:
## Creates N-D arrays ## Creates N-D arrays
%% Cell type:markdown id:31fd728d-8c04-4ae8-9327-b331cc39dcab tags: %% Cell type:markdown id:31fd728d-8c04-4ae8-9327-b331cc39dcab tags:
## 1-D array ## 1-D array
%% Cell type:code id:4d0d92c4-89bb-4d1a-bd5b-79c9061c7828 tags: %% Cell type:code id:4d0d92c4-89bb-4d1a-bd5b-79c9061c7828 tags:
``` python ``` python
one_d = np.array([1, 2, 10, 2, 1 ]) one_d = np.array([1, 2, 10, 2, 1 ])
``` ```
%% Cell type:code id:98111601-9c39-4a7c-a313-c862397c698d tags: %% Cell type:code id:98111601-9c39-4a7c-a313-c862397c698d tags:
``` python ``` python
len(one_d) len(one_d)
``` ```
%% Output %% Output
5 5
%% Cell type:markdown id:a14a0991-3494-4ee3-bdca-5a18e8ee21c3 tags: %% Cell type:markdown id:a14a0991-3494-4ee3-bdca-5a18e8ee21c3 tags:
Indexing/slicing works like Python sequences Indexing/slicing works like Python sequences
%% Cell type:code id:cc434831-4126-4f8a-aa0a-5eabfb99b493 tags: %% Cell type:code id:cc434831-4126-4f8a-aa0a-5eabfb99b493 tags:
``` python ``` python
one_d[2] one_d[2]
``` ```
%% Output %% Output
10 np.int64(10)
%% Cell type:code id:9719751d-eb51-40c7-9f02-2e28ae78d2d4 tags: %% Cell type:code id:9719751d-eb51-40c7-9f02-2e28ae78d2d4 tags:
``` python ``` python
one_d[1:] one_d[1:]
``` ```
%% Output %% Output
array([ 2, 10, 2, 1]) array([ 2, 10, 2, 1])
%% Cell type:code id:2349c0be-d24c-4184-9d1d-0d840738284c tags: %% Cell type:code id:2349c0be-d24c-4184-9d1d-0d840738284c tags:
``` python ``` python
one_d[2:4] one_d[2:4]
``` ```
%% Output %% Output
array([10, 2]) array([10, 2])
%% Cell type:code id:32f093f2-bce7-4591-bb3b-ebfc794dc09d tags: %% Cell type:code id:32f093f2-bce7-4591-bb3b-ebfc794dc09d tags:
``` python ``` python
### 2-D arrays ### 2-D arrays
``` ```
%% Cell type:markdown id:cd1caf41-0081-4e3a-8c92-1357f331bf5f tags: %% Cell type:markdown id:cd1caf41-0081-4e3a-8c92-1357f331bf5f tags:
Here is a naive way to build a 2D matrix with values going from 1 to 12. Later, we will use more power full Here is a naive way to build a 2D matrix with values going from 1 to 12. Later, we will use more power full
method to do this (arange, reshape, ...) method to do this (arange, reshape, ...)
%% Cell type:code id:7a8c6bcb-1304-4108-9311-131af5b3ded7 tags: %% Cell type:code id:7a8c6bcb-1304-4108-9311-131af5b3ded7 tags:
``` python ``` python
n1 = [1, 2, 3] n1 = [1, 2, 3]
n2 = [4, 5, 6] n2 = [4, 5, 6]
n3 = [7, 8, 9] n3 = [7, 8, 9]
n4 = [10, 11, 12] n4 = [10, 11, 12]
two_d = np.array([n1, n2, n3, n4]) two_d = np.array([n1, n2, n3, n4])
``` ```
%% Cell type:code id:b0f7a780-971e-4587-9457-793934dea9fd tags: %% Cell type:code id:b0f7a780-971e-4587-9457-793934dea9fd tags:
``` python ``` python
two_d.ndim two_d.ndim
``` ```
%% Output %% Output
2 2
%% Cell type:code id:8bc4629e-ad79-4d27-a336-be1159b248d0 tags: %% Cell type:code id:8bc4629e-ad79-4d27-a336-be1159b248d0 tags:
``` python ``` python
one_d.ndim one_d.ndim
``` ```
%% Output %% Output
1 1
%% Cell type:code id:87f4a252-b7d9-44bc-b0f1-a0b032bbfd65 tags: %% Cell type:code id:87f4a252-b7d9-44bc-b0f1-a0b032bbfd65 tags:
``` python ``` python
print(two_d.shape, one_d.shape) print(two_d.shape, one_d.shape)
``` ```
%% Output %% Output
(4, 3) (5,) (4, 3) (5,)
%% Cell type:markdown id:a852f3c6-c47c-4716-ac22-235a8f5ab4c9 tags: %% Cell type:markdown id:a852f3c6-c47c-4716-ac22-235a8f5ab4c9 tags:
### Indexing: LC convention (Line / Column) ### Indexing: LC convention (Line / Column)
For a 5x5 matrix, the indexing works as follows For a 5x5 matrix, the indexing works as follows
<img src="img/matrix.png"> <img src="img/matrix.png">
%% Cell type:code id:ccc4dd58-d503-4c51-9269-50b15ba9e41c tags: %% Cell type:code id:ccc4dd58-d503-4c51-9269-50b15ba9e41c tags:
``` python ``` python
two_d two_d
``` ```
%% Output %% Output
array([[ 1, 2, 3], array([[ 1, 2, 3],
[ 4, 5, 6], [ 4, 5, 6],
[ 7, 8, 9], [ 7, 8, 9],
[10, 11, 12]]) [10, 11, 12]])
%% Cell type:code id:24f76bdb-c003-4ec9-be44-35fd464fa575 tags: %% Cell type:code id:24f76bdb-c003-4ec9-be44-35fd464fa575 tags:
``` python ``` python
# To get 11, last row, second column: # To get 11, last row, second column:
two_d[3, 1] two_d[3, 1]
``` ```
%% Output %% Output
11 np.int64(11)
%% Cell type:code id:0627549d-0732-47b5-b1f5-70b634bb59c0 tags: %% Cell type:code id:0627549d-0732-47b5-b1f5-70b634bb59c0 tags:
``` python ``` python
# equivalent but a bit slower: # equivalent but a bit slower:
two_d[3][1] two_d[3][1]
``` ```
%% Output %% Output
11 np.int64(11)
%% Cell type:markdown id:be724779-6f50-4b06-8df1-b0c51b76804e tags: %% Cell type:markdown id:be724779-6f50-4b06-8df1-b0c51b76804e tags:
### 3-D arrays? ### 3-D arrays?
you manipulate 3D arrays almost every day you manipulate 3D arrays almost every day
%% Cell type:markdown id:3902efeb-e719-4734-a13d-28e02044b249 tags: %% Cell type:markdown id:3902efeb-e719-4734-a13d-28e02044b249 tags:
A black and white image is a 2D matrix with a value between 0 (black) and 255 (white) for each pixel (0-255 for 8 bits encoded image) A black and white image is a 2D matrix with a value between 0 (black) and 255 (white) for each pixel (0-255 for 8 bits encoded image)
%% Cell type:markdown id:402ad8ce-b753-4583-8fa6-db1465e418aa tags: %% Cell type:markdown id:402ad8ce-b753-4583-8fa6-db1465e418aa tags:
<img src="img/image_BW_numpy.png" style="margin:0 auto;width:200px"> <img src="img/image_BW_numpy.png" style="margin:0 auto;width:200px">
%% Cell type:markdown id:18e8fcc2-0a82-4f12-9045-53961c4576c2 tags: %% Cell type:markdown id:18e8fcc2-0a82-4f12-9045-53961c4576c2 tags:
A color image is a 3D matrix, it's the supperposition of 3 2D matrix one for the Red, one for the Green and one for the Blue A color image is a 3D matrix, it's the supperposition of 3 2D matrix one for the Red, one for the Green and one for the Blue
%% Cell type:markdown id:4a1379cd-8ab4-4dd0-8911-bff59b247466 tags: %% Cell type:markdown id:4a1379cd-8ab4-4dd0-8911-bff59b247466 tags:
<img src="img/colored_image_numpy.png" style="margin:0 auto;width:400px"> <img src="img/colored_image_numpy.png" style="margin:0 auto;width:400px">
%% Cell type:markdown id:3a351fc3-635b-4513-ada2-f71ae2a9b485 tags: %% Cell type:markdown id:3a351fc3-635b-4513-ada2-f71ae2a9b485 tags:
#### axis #### axis
in numpy when we do operation on matrix we have to specify on which direction you wnat to do the operation in numpy when we do operation on matrix we have to specify on which direction you wnat to do the operation
for instance you have a 2D matrix and you have the operator sum. for instance you have a 2D matrix and you have the operator sum.
but you need to tell numpy if you want to sum along the columns or the rows. but you need to tell numpy if you want to sum along the columns or the rows.
for that numpy have a parameter axis for that numpy have a parameter axis
in 2D matrix axis=0 is the row axis axis=1 is the columns axis in 2D matrix axis=0 is the row axis axis=1 is the columns axis
%% Cell type:markdown id:84dab023-ccb1-43e6-86a4-b94c72a8bfa9 tags: %% Cell type:markdown id:84dab023-ccb1-43e6-86a4-b94c72a8bfa9 tags:
<img src="img/axis.png" style="margin:0 auto;width:600px"> <img src="img/axis.png" style="margin:0 auto;width:600px">
%% Cell type:markdown id:d76492fc-71fe-44a0-ba67-7b407220e24d tags: %% Cell type:markdown id:d76492fc-71fe-44a0-ba67-7b407220e24d tags:
### Can you imagine a 4D array? ### Can you imagine a 4D array?
> Yes a film can be view as a sequence of colored image, so it's a 4D array > Yes a film can be view as a sequence of colored image, so it's a 4D array
%% Cell type:markdown id:dd9901f1-016b-4874-9586-a8fdd10fe98c tags: %% Cell type:markdown id:dd9901f1-016b-4874-9586-a8fdd10fe98c tags:
<img src="img/4D_array.png"> <img src="img/4D_array.png">
%% Cell type:markdown id:03e4057d-bbe3-4a52-8412-a30549f79a0a tags: %% Cell type:markdown id:03e4057d-bbe3-4a52-8412-a30549f79a0a tags:
Volume of air and at each position we measure the pressure and temperature. Volume of air and at each position we measure the pressure and temperature.
To simplify, we decompose the volume in 2x2x3 smaller cubes To simplify, we decompose the volume in 2x2x3 smaller cubes
%% Cell type:code id:5a609b66-da1a-45e6-a2b1-c27e9ca2dfa4 tags: %% Cell type:code id:5a609b66-da1a-45e6-a2b1-c27e9ca2dfa4 tags:
``` python ``` python
c1 = [1,2,3]; c2 = [1,2,3]; c3 = [1,2,3]; c4 = [1,2,3]; c1 = [1,2,3]; c2 = [1,2,3]; c3 = [1,2,3]; c4 = [1,2,3];
c5 = [1,2,3]; c6 = [1,2,3]; c7 = [1,2,3]; c8 = [1,2,3]; c5 = [1,2,3]; c6 = [1,2,3]; c7 = [1,2,3]; c8 = [1,2,3];
x = np.array( x = np.array(
[ # first dimension (2 slices) [ # first dimension (2 slices)
[ # second dimension (2 rows) [ # second dimension (2 rows)
[ # third dimension (2 columns) [ # third dimension (2 columns)
c1, c2 c1, c2
], ],
[ [
c3, c4 c3, c4
] ]
], ],
[ [
[ [
c5, c6 c5, c6
], ],
[ [
c7, c8 c7, c8
] ]
] ]
]) ])
``` ```
%% Cell type:code id:71b2219a-5d91-42ac-93f2-cb89d6aad801 tags: %% Cell type:code id:71b2219a-5d91-42ac-93f2-cb89d6aad801 tags:
``` python ``` python
x.shape x.shape
``` ```
%% Output %% Output
(2, 2, 2, 3) (2, 2, 2, 3)
%% Cell type:markdown id:533fde0b-fb1d-4bf3-b258-7e588e51e29e tags: %% Cell type:markdown id:533fde0b-fb1d-4bf3-b258-7e588e51e29e tags:
## Function to create arrays ## Function to create arrays
%% Cell type:code id:7b8555b9-80c6-4558-9aa1-dfe7de7c4c62 tags: %% Cell type:code id:7b8555b9-80c6-4558-9aa1-dfe7de7c4c62 tags:
``` python ``` python
# 2D array # 2D array
np.ones((2,3)) np.ones((2,3))
``` ```
%% Output %% Output
array([[1., 1., 1.], array([[1., 1., 1.],
[1., 1., 1.]]) [1., 1., 1.]])
%% Cell type:code id:7d11d736-9a38-4bcd-a067-b8edd94bd66b tags: %% Cell type:code id:7d11d736-9a38-4bcd-a067-b8edd94bd66b tags:
``` python ``` python
# 3 D array # 3 D array
np.ones((3,4,5)) np.ones((3,4,5))
``` ```
%% Output %% Output
array([[[1., 1., 1., 1., 1.], array([[[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]], [1., 1., 1., 1., 1.]],
[[1., 1., 1., 1., 1.], [[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]], [1., 1., 1., 1., 1.]],
[[1., 1., 1., 1., 1.], [[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]]]) [1., 1., 1., 1., 1.]]])
%% Cell type:markdown id:7b0e8c5a-d5c3-45ee-9c95-66363a79c2ce tags: %% Cell type:markdown id:7b0e8c5a-d5c3-45ee-9c95-66363a79c2ce tags:
### The **arange** function ### The **arange** function
> Evenly spaced values within a given interval based on a **step** > Evenly spaced values within a given interval based on a **step**
%% Cell type:code id:5660a98d-c9b0-4117-a869-8257592d82ce tags: %% Cell type:code id:5660a98d-c9b0-4117-a869-8257592d82ce tags:
``` python ``` python
a = np.arange(1, 10) # not that the end is exclusive and the step is 1 by default a = np.arange(1, 10) # not that the end is exclusive and the step is 1 by default
``` ```
%% Cell type:code id:1b090b77-4113-4290-8c48-ca10c5207752 tags: %% Cell type:code id:1b090b77-4113-4290-8c48-ca10c5207752 tags:
``` python ``` python
np.arange(0, 10, step=2) np.arange(0, 10, step=2)
``` ```
%% Output %% Output
array([0, 2, 4, 6, 8]) array([0, 2, 4, 6, 8])
%% Cell type:markdown id:73efa449-2b29-43b6-8fb9-ca03fd639750 tags: %% Cell type:markdown id:73efa449-2b29-43b6-8fb9-ca03fd639750 tags:
The **reshape** methode The **reshape** methode
> Gives a new shape to an array without changing its data. > Gives a new shape to an array without changing its data.
%% Cell type:code id:8d43a13e-9283-490e-b8f5-32291128bbd0 tags: %% Cell type:code id:8d43a13e-9283-490e-b8f5-32291128bbd0 tags:
``` python ``` python
a2 = a.reshape(3,3) a2 = a.reshape(3,3)
a2 a2
``` ```
%% Output %% Output
array([[1, 2, 3], array([[1, 2, 3],
[4, 5, 6], [4, 5, 6],
[7, 8, 9]]) [7, 8, 9]])
%% Cell type:markdown id:fcf73865-bc24-4bb9-b8b9-24ff264a8a9c tags: %% Cell type:markdown id:fcf73865-bc24-4bb9-b8b9-24ff264a8a9c tags:
**NB** the product of dimensions = number of values **NB** the product of dimensions = number of values
```python ```python
len(a) = 9 len(a) = 9
3 * 3 = 9 3 * 3 = 9
``` ```
%% Cell type:code id:47bd6cf0-8cb3-4f99-acb4-cca110dc67d0 tags: %% Cell type:code id:47bd6cf0-8cb3-4f99-acb4-cca110dc67d0 tags:
``` python ``` python
# equivalent to # equivalent to
a2 = np.reshape(a, (3,3)) a2 = np.reshape(a, (3,3))
a2 a2
``` ```
%% Output %% Output
array([[1, 2, 3], array([[1, 2, 3],
[4, 5, 6], [4, 5, 6],
[7, 8, 9]]) [7, 8, 9]])
%% Cell type:markdown id:f6f81aa8-d6ad-483d-9be8-e4525ae579eb tags: %% Cell type:markdown id:f6f81aa8-d6ad-483d-9be8-e4525ae579eb tags:
### the **linspace** function ### the **linspace** function
> Evenly spaced values within a given interval based on a **number of points** > Evenly spaced values within a given interval based on a **number of points**
%% Cell type:code id:1dc1c67c-df2b-409f-acd9-ba69ccee7c47 tags: %% Cell type:code id:1dc1c67c-df2b-409f-acd9-ba69ccee7c47 tags:
``` python ``` python
np.linspace(0, 1, 10) np.linspace(0, 1, 10)
``` ```
%% Output %% Output
array([0. , 0.11111111, 0.22222222, 0.33333333, 0.44444444, array([0. , 0.11111111, 0.22222222, 0.33333333, 0.44444444,
0.55555556, 0.66666667, 0.77777778, 0.88888889, 1. ]) 0.55555556, 0.66666667, 0.77777778, 0.88888889, 1. ])
%% Cell type:markdown id:33fbe07c-0166-49b3-a4b1-d4fb0fa9c379 tags: %% Cell type:markdown id:33fbe07c-0166-49b3-a4b1-d4fb0fa9c379 tags:
### ones, zeros, diag, eye, empty ### ones, zeros, diag, eye, empty
%% Cell type:code id:4ba5244e-ffbe-40d8-9e4b-bb1669fefbd2 tags: %% Cell type:code id:4ba5244e-ffbe-40d8-9e4b-bb1669fefbd2 tags:
``` python ``` python
np.diag((5,5,1,1)) np.diag((5,5,1,1))
``` ```
%% Output %% Output
array([[5, 0, 0, 0], array([[5, 0, 0, 0],
[0, 5, 0, 0], [0, 5, 0, 0],
[0, 0, 1, 0], [0, 0, 1, 0],
[0, 0, 0, 1]]) [0, 0, 0, 1]])
%% Cell type:code id:c2dfdfe1-f90c-4dc7-9708-cd776b8700d9 tags: %% Cell type:code id:c2dfdfe1-f90c-4dc7-9708-cd776b8700d9 tags:
``` python ``` python
np.ones((2,2)) np.ones((2,2))
``` ```
%% Output %% Output
array([[1., 1.], array([[1., 1.],
[1., 1.]]) [1., 1.]])
%% Cell type:code id:5d89026e-6b57-4264-979b-26fe0479a3a4 tags: %% Cell type:code id:5d89026e-6b57-4264-979b-26fe0479a3a4 tags:
``` python ``` python
np.zeros((2,2)) np.zeros((2,2))
``` ```
%% Output %% Output
array([[0., 0.], array([[0., 0.],
[0., 0.]]) [0., 0.]])
%% Cell type:code id:f9e8e9af-5c5b-4509-932a-25313f6c8095 tags: %% Cell type:code id:f9e8e9af-5c5b-4509-932a-25313f6c8095 tags:
``` python ``` python
np.eye(3) np.eye(3)
``` ```
%% Output %% Output
array([[1., 0., 0.], array([[1., 0., 0.],
[0., 1., 0.], [0., 1., 0.],
[0., 0., 1.]]) [0., 0., 1.]])
%% Cell type:markdown id:7844105b-26b8-4cf1-9742-ca38db857695 tags: %% Cell type:markdown id:7844105b-26b8-4cf1-9742-ca38db857695 tags:
# Random values # Random values
> Python language has its own random module but numpy has more functionalities. > Python language has its own random module but numpy has more functionalities.
%% Cell type:markdown id:e73ecd23-a1eb-47ef-be1f-f92130547340 tags: %% Cell type:markdown id:e73ecd23-a1eb-47ef-be1f-f92130547340 tags:
First you have to create a Generator object, usualy by using the default_rng function First you have to create a Generator object, usualy by using the default_rng function
%% Cell type:code id:8e18d829-b9e4-4880-b35e-a96fc713d95f tags: %% Cell type:code id:8e18d829-b9e4-4880-b35e-a96fc713d95f tags:
``` python ``` python
rng = np.random.default_rng() rng = np.random.default_rng()
``` ```
%% Cell type:markdown id:55fbac7f-33d1-4108-9f50-6aaf6db640a7 tags: %% Cell type:markdown id:55fbac7f-33d1-4108-9f50-6aaf6db640a7 tags:
then use random methods then use random methods
%% Cell type:code id:81be533a-3beb-4af8-9e26-69ad5d44e41d tags: %% Cell type:code id:81be533a-3beb-4af8-9e26-69ad5d44e41d tags:
``` python ``` python
# Generate one random float uniformly distributed over the range [0, 1) # Generate one random float uniformly distributed over the range [0, 1)
rng.random() # result below may vary rng.random() # result below may vary
``` ```
%% Output %% Output
0.9770692753749981 0.07493730781019758
%% Cell type:code id:f085514b-5fcd-4112-a045-23eb6f6f3e5c tags: %% Cell type:code id:f085514b-5fcd-4112-a045-23eb6f6f3e5c tags:
``` python ``` python
# array of normally distributed values # array of normally distributed values
# with mean=0 (loc) and std=1.0 (scale) (defaults) # with mean=0 (loc) and std=1.0 (scale) (defaults)
rng.normal(loc=0.0, scale=1.0, size=10) rng.normal(loc=0.0, scale=1.0, size=10)
``` ```
%% Output %% Output
array([ 1.73553135, 0.22361916, -0.73362824, -0.33249582, -0.72058886, array([ 0.97665436, 0.10830955, -0.48716618, 0.47222301, -1.95684758,
-0.27996662, -0.34853205, -2.27085731, -0.80546885, 1.42012754]) -1.10186154, -0.85026678, 0.73181136, 0.28125178, -0.19334269])
%% Cell type:code id:9dcf97f4-1984-4739-a49a-9c9c7a7d4a98 tags: %% Cell type:code id:9dcf97f4-1984-4739-a49a-9c9c7a7d4a98 tags:
``` python ``` python
# a 2Darray of normally distributed values # a 2Darray of normally distributed values
rng.normal(loc=1.0, scale=2.0, size=(5,2)) rng.normal(loc=1.0, scale=2.0, size=(5,2))
``` ```
%% Output %% Output
array([[-0.25121824, -1.50960959], array([[ 3.48679819, 3.04781574],
[ 1.20405797, 1.76066421], [ 3.70247583, 1.76402619],
[ 1.00618911, 1.00338646], [ 0.44962379, 2.8026444 ],
[ 0.33048819, 3.14524965], [ 3.81113791, 0.74001679],
[ 4.26693195, 1.77804119]]) [-0.34301959, 2.8487461 ]])
%% Cell type:code id:8faa1d85-e2cf-482f-af13-1a339f85b273 tags: %% Cell type:code id:8faa1d85-e2cf-482f-af13-1a339f85b273 tags:
``` python ``` python
# array of uniform distributed values # array of uniform distributed values
rng.uniform(low=0, high=2, size=10) rng.uniform(low=0, high=2, size=10)
``` ```
%% Output %% Output
array([1.47566294, 1.66996391, 0.97314979, 0.11779833, 1.43473446, array([1.53764539, 0.10407965, 0.14943287, 1.33850036, 1.29547856,
0.21334751, 0.67050575, 1.75677774, 0.95711036, 0.97817719]) 1.92918736, 0.0350858 , 1.34860414, 1.72703453, 0.32842712])
%% Cell type:code id:3494d529-5fef-47ef-9014-64b6d3d69244 tags: %% Cell type:code id:3494d529-5fef-47ef-9014-64b6d3d69244 tags:
``` python ``` python
# you can specify a seed when you build a random generator # you can specify a seed when you build a random generator
s_rng = np.random.default_rng(seed=3) s_rng = np.random.default_rng(seed=3)
s_rng.random() s_rng.random()
``` ```
%% Output %% Output
0.08564916714362436 0.08564916714362436
%% Cell type:markdown id:2d2948e4-3d1e-4c22-b5e9-b92889282bf5 tags: %% Cell type:markdown id:2d2948e4-3d1e-4c22-b5e9-b92889282bf5 tags:
* https://numpy.org/doc/stable/reference/random/index.html * https://numpy.org/doc/stable/reference/random/index.html
* https://numpy.org/doc/stable/reference/random/generator.html#numpy.random.default_rng * https://numpy.org/doc/stable/reference/random/generator.html#numpy.random.default_rng
* https://numpy.org/doc/stable/reference/random/generator.html#numpy.random.Generator * https://numpy.org/doc/stable/reference/random/generator.html#numpy.random.Generator
%% Cell type:markdown id:2c0eea6a-b4d2-4c28-9674-af82879f6101 tags: %% Cell type:markdown id:2c0eea6a-b4d2-4c28-9674-af82879f6101 tags:
## old way to generate random values ## old way to generate random values
These functions will be deprecated soon These functions will be deprecated soon
%% Cell type:code id:adff2440-1323-4e47-a7c1-05b2298b9c1f tags: %% Cell type:code id:adff2440-1323-4e47-a7c1-05b2298b9c1f tags:
``` python ``` python
# uniform random values between 0 and 1 # uniform random values between 0 and 1
np.random.rand() np.random.rand()
``` ```
%% Output %% Output
0.2374135561970464 0.38646383961446507
%% Cell type:code id:89a1f130-0549-4127-87cc-bca1e6d8fcf0 tags: %% Cell type:code id:89a1f130-0549-4127-87cc-bca1e6d8fcf0 tags:
``` python ``` python
# normal distribution # normal distribution
np.random.randn() np.random.randn()
``` ```
%% Output %% Output
-2.181325840579963 1.035199530576272
%% Cell type:code id:96e4cd87-5d98-4e27-ba8f-3a7573975224 tags: %% Cell type:code id:96e4cd87-5d98-4e27-ba8f-3a7573975224 tags:
``` python ``` python
# array of normally distributed values # array of normally distributed values
# with mean=0 (loc) and std=1.0 (scale) (defaults) # with mean=0 (loc) and std=1.0 (scale) (defaults)
np.random.normal(loc=0.0, scale=1.0, size=10) np.random.normal(loc=0.0, scale=1.0, size=10)
``` ```
%% Output %% Output
array([-1.16043015, -0.41323816, 0.26145112, -0.72910492, 0.74809394, array([ 1.11832894, 2.0021714 , 0.58719543, -0.56612414, -0.12557549,
-0.44404394, -0.65350114, -0.37594278, -1.27568323, -1.25554752]) -0.27136275, 1.51259438, -0.73849808, 0.77444285, 0.54480857])
%% Cell type:code id:c1119efa-0d17-424d-8d76-7e0047988143 tags: %% Cell type:code id:c1119efa-0d17-424d-8d76-7e0047988143 tags:
``` python ``` python
# a 2Darray of normally distributed values # a 2Darray of normally distributed values
np.random.normal(loc=1.0, scale=2.0, size=(5,2)) np.random.normal(loc=1.0, scale=2.0, size=(5,2))
``` ```
%% Output %% Output
array([[ 1.83459533, 1.34741056], array([[ 0.83273837, -0.05496048],
[ 1.04856601, 0.36270561], [ 2.75752077, 0.61157395],
[-1.07733443, 2.26669404], [-0.05946127, -0.55505366],
[-0.14518838, 1.30587942], [-3.14976828, 2.48233988],
[-1.52924688, 3.78152616]]) [ 3.67011564, 1.6567874 ]])
%% Cell type:code id:8c6345c7-01e5-4bde-8624-be7567fe79f3 tags: %% Cell type:code id:8c6345c7-01e5-4bde-8624-be7567fe79f3 tags:
``` python ``` python
# array of uniform distributed values # array of uniform distributed values
np.random.uniform(low=0, high=2, size=10) np.random.uniform(low=0, high=2, size=10)
``` ```
%% Output %% Output
array([1.95882936, 1.55143615, 1.23730791, 1.21954068, 0.87052116, array([0.2491329 , 1.23861051, 0.06156969, 1.99958024, 1.01311919,
1.84664919, 1.96556124, 0.39348725, 0.77651197, 0.18411425]) 0.61799875, 0.95377215, 0.72350694, 0.98002253, 1.65238567])
%% Cell type:markdown id:8f1555d9-55cd-4b03-811c-f2224822d518 tags: %% Cell type:markdown id:8f1555d9-55cd-4b03-811c-f2224822d518 tags:
# data types # data types
%% Cell type:code id:bb4a7d5b-d2a3-42a7-8bce-7c3ecab1f30f tags: %% Cell type:code id:bb4a7d5b-d2a3-42a7-8bce-7c3ecab1f30f tags:
``` python ``` python
x = np.array([1,2,3]) x = np.array([1,2,3])
x.dtype x.dtype
``` ```
%% Output %% Output
dtype('int64') dtype('int64')
%% Cell type:code id:b6761fbb-7a96-4244-a433-3d9d4861f6ee tags: %% Cell type:code id:b6761fbb-7a96-4244-a433-3d9d4861f6ee tags:
``` python ``` python
x = np.array([1., 2, 3.5]) x = np.array([1., 2, 3.5])
x.dtype x.dtype
``` ```
%% Output %% Output
dtype('float64') dtype('float64')
%% Cell type:code id:24b99d8b-fa40-4450-9571-0e9039daa568 tags: %% Cell type:code id:24b99d8b-fa40-4450-9571-0e9039daa568 tags:
``` python ``` python
x = np.array([1,2,3], dtype=float) x = np.array([1,2,3], dtype=float)
x.dtype x.dtype
``` ```
%% Output %% Output
dtype('float64') dtype('float64')
%% Cell type:markdown id:94f69731-19cc-44c5-896c-6866a0517c74 tags: %% Cell type:markdown id:94f69731-19cc-44c5-896c-6866a0517c74 tags:
You can cast data from datatype to an other You can cast data from datatype to an other
%% Cell type:code id:de2cde1e-5dc6-40b7-8367-68bc4b6a13a5 tags: %% Cell type:code id:de2cde1e-5dc6-40b7-8367-68bc4b6a13a5 tags:
``` python ``` python
x = np.array([1, 2, 3]) x = np.array([1, 2, 3])
print(x.dtype) print(x.dtype)
x = x.astype(float) x = x.astype(float)
print(x.dtype) print(x.dtype)
x x
``` ```
%% Output %% Output
int64 int64
float64 float64
array([1., 2., 3.]) array([1., 2., 3.])
%% Cell type:markdown id:e091dae2-3205-4644-9657-cd813039726e tags: %% Cell type:markdown id:e091dae2-3205-4644-9657-cd813039726e tags:
<div class="alert alert-warning"> <div class="alert alert-warning">
If you mix types, the most complex type is used If you mix types, the most complex type is used
</div> </div>
%% Cell type:code id:2b335534-e646-4660-a67c-a8ad965ddfef tags: %% Cell type:code id:2b335534-e646-4660-a67c-a8ad965ddfef tags:
``` python ``` python
np.array([1.0, 1, "oups"]) np.array([1.0, 1, "oups"])
``` ```
%% Output %% Output
array(['1.0', '1', 'oups'], dtype='<U32') array(['1.0', '1', 'oups'], dtype='<U32')
%% Cell type:markdown id:6dc94a3f-5335-4833-baac-80389552358b tags: %% Cell type:markdown id:6dc94a3f-5335-4833-baac-80389552358b tags:
Of course if the conversion make sense Of course if the conversion make sense
%% Cell type:code id:7ac6175d-dfde-4814-aeaa-2e84ee87dd53 tags: %% Cell type:code id:7ac6175d-dfde-4814-aeaa-2e84ee87dd53 tags:
``` python ``` python
x = np.array([1.0, 1, "oups"]) x = np.array([1.0, 1, "oups"])
x = x.astype(float) x = x.astype(float)
``` ```
%% Output %% Output
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
ValueError Traceback (most recent call last) ValueError Traceback (most recent call last)
/tmp/ipykernel_11610/885548900.py in <module> Cell In[52], line 2
1 x = np.array([1.0, 1, "oups"]) 1 x = np.array([1.0, 1, "oups"])
----> 2 x = x.astype(float) ----> 2 x = x.astype(float)
ValueError: could not convert string to float: np.str_('oups')
ValueError: could not convert string to float: 'oups'
%% Cell type:markdown id:2b9be850-666f-4e96-bdf3-30bc53741a77 tags: %% Cell type:markdown id:2b9be850-666f-4e96-bdf3-30bc53741a77 tags:
<div class="practical"> <div class="practical">
<h1>Basic indexing and slicing </h1> <h1>Basic indexing and slicing </h1>
</div> </div>
# Example in 2D # Example in 2D
Syntax. First axis is for rows and second for columns: Syntax. First axis is for rows and second for columns:
%% Cell type:markdown id:e870925c-e520-43c1-85c0-3450af31ca26 tags: %% Cell type:markdown id:e870925c-e520-43c1-85c0-3450af31ca26 tags:
<img src="img/exo_table1.png"> <img src="../images/exo_table1.png">
%% Cell type:markdown id:a718bf74-be4b-4464-9d6d-7d0f26f6f984 tags: %% Cell type:markdown id:a718bf74-be4b-4464-9d6d-7d0f26f6f984 tags:
Create the array shown above. Then, with slicing and indexing, Create the array shown above. Then, with slicing and indexing,
> - extract first row, > - extract first row,
> - extract first column (orange cells) > - extract first column (orange cells)
> - extract even values only, odd values only > - extract even values only, odd values only
> - extract the 4 blue cells > - extract the 4 blue cells
> - extract the 2 green cells > - extract the 2 green cells
> - extract the 2x2 sub-matrix in bottom right corner > - extract the 2x2 sub-matrix in bottom right corner
%% Cell type:code id:fe54df35-dd1d-44eb-8087-7122b1e07265 tags: %% Cell type:code id:fe54df35-dd1d-44eb-8087-7122b1e07265 tags:
``` python ``` python
r = np.arange(5) r = np.arange(5)
m = np.array([r, r+10, r+20, r+30, r+40]) m = np.array([r, r+10, r+20, r+30, r+40])
m m
``` ```
%% Output %% Output
array([[ 0, 1, 2, 3, 4], array([[ 0, 1, 2, 3, 4],
[10, 11, 12, 13, 14], [10, 11, 12, 13, 14],
[20, 21, 22, 23, 24], [20, 21, 22, 23, 24],
[30, 31, 32, 33, 34], [30, 31, 32, 33, 34],
[40, 41, 42, 43, 44]]) [40, 41, 42, 43, 44]])
%% Cell type:code id:9c204b45-396d-4b43-acd2-00a84f57a33a tags: %% Cell type:code id:9c204b45-396d-4b43-acd2-00a84f57a33a tags:
``` python ``` python
# first row # first row
m[0, :] m[0, :]
``` ```
%% Output %% Output
array([0, 1, 2, 3, 4]) array([0, 1, 2, 3, 4])
%% Cell type:code id:8369f926-2572-4afc-a89b-6d35ff8b1921 tags: %% Cell type:code id:8369f926-2572-4afc-a89b-6d35ff8b1921 tags:
``` python ``` python
# blue cells # blue cells
m[1,1], m[1,3], m[3,1], m[3,3] m[1,1], m[1,3], m[3,1], m[3,3]
``` ```
%% Output %% Output
(11, 13, 31, 33) (np.int64(11), np.int64(13), np.int64(31), np.int64(33))
%% Cell type:code id:22448595-9e9b-4e1d-9328-2ab409b83077 tags: %% Cell type:code id:22448595-9e9b-4e1d-9328-2ab409b83077 tags:
``` python ``` python
# even values # even values
m[1::2, 1::2] m[1::2, 1::2]
``` ```
%% Output %% Output
array([[11, 13], array([[11, 13],
[31, 33]]) [31, 33]])
%% Cell type:code id:12cadf07-283f-4437-8586-846f94fd8721 tags: %% Cell type:code id:12cadf07-283f-4437-8586-846f94fd8721 tags:
``` python ``` python
# orange column # orange column
m[:,0] m[:,0]
``` ```
%% Output %% Output
array([ 0, 10, 20, 30, 40]) array([ 0, 10, 20, 30, 40])
%% Cell type:code id:48e14271-99bb-4089-b761-d338c7975ede tags: %% Cell type:code id:48e14271-99bb-4089-b761-d338c7975ede tags:
``` python ``` python
# green cells # green cells
m[2, -2:] m[2, -2:]
``` ```
%% Output %% Output
array([23, 24]) array([23, 24])
%% Cell type:code id:98a2ff9b-1906-4b2b-9fff-4a735597606b tags: %% Cell type:code id:98a2ff9b-1906-4b2b-9fff-4a735597606b tags:
``` python ``` python
# blue sub corner # blue sub corner
m[-2:, -2:] m[-2:, -2:]
``` ```
%% Output %% Output
array([[33, 34], array([[33, 34],
[43, 44]]) [43, 44]])
%% Cell type:markdown id:cd1049f2-8936-4d61-a26b-38fea3684a2b tags: %% Cell type:markdown id:cd1049f2-8936-4d61-a26b-38fea3684a2b tags:
# Copies and views # Copies and views
We are manipulating objects. So be careful with the references We are manipulating objects. So be careful with the references
%% Cell type:code id:05e69472-aa21-4f51-8989-e759ee7a1159 tags: %% Cell type:code id:05e69472-aa21-4f51-8989-e759ee7a1159 tags:
``` python ``` python
## views ## views
``` ```
%% Cell type:code id:3da2f5f2-c302-4e35-b5c3-3d4f3f8d860f tags: %% Cell type:code id:3da2f5f2-c302-4e35-b5c3-3d4f3f8d860f tags:
``` python ``` python
a = np.array([1,2,3,4,5]) a = np.array([1,2,3,4,5])
b = a.view() b = a.view()
``` ```
%% Cell type:code id:503d63fa-58b2-4bfe-af4c-d08e54f41103 tags: %% Cell type:code id:503d63fa-58b2-4bfe-af4c-d08e54f41103 tags:
``` python ``` python
a, b a, b
``` ```
%% Output %% Output
(array([1, 2, 3, 4, 5]), array([1, 2, 3, 4, 5])) (array([1, 2, 3, 4, 5]), array([1, 2, 3, 4, 5]))
%% Cell type:code id:f4664618-a1aa-40e7-b2e3-19221bd7954a tags: %% Cell type:code id:f4664618-a1aa-40e7-b2e3-19221bd7954a tags:
``` python ``` python
a[2] = 30 a[2] = 30
``` ```
%% Cell type:code id:e4a1c3f9-8a02-46be-bb51-14db61cb7755 tags: %% Cell type:code id:e4a1c3f9-8a02-46be-bb51-14db61cb7755 tags:
``` python ``` python
a, b a, b
``` ```
%% Output %% Output
(array([ 1, 2, 30, 4, 5]), array([ 1, 2, 30, 4, 5])) (array([ 1, 2, 30, 4, 5]), array([ 1, 2, 30, 4, 5]))
%% Cell type:code id:58efbf90-4a57-46ed-bb97-c998f4f9d025 tags: %% Cell type:code id:58efbf90-4a57-46ed-bb97-c998f4f9d025 tags:
``` python ``` python
b[-2:] = 0 b[-2:] = 0
``` ```
%% Cell type:code id:16178b9b-f7f7-4805-9493-ac6c55fb013f tags: %% Cell type:code id:16178b9b-f7f7-4805-9493-ac6c55fb013f tags:
``` python ``` python
a, b a, b
``` ```
%% Output %% Output
(array([ 1, 2, 30, 0, 0]), array([ 1, 2, 30, 0, 0])) (array([ 1, 2, 30, 0, 0]), array([ 1, 2, 30, 0, 0]))
%% Cell type:markdown id:53fea18b-23b6-4d62-9394-b4bdbb6f0d19 tags: %% Cell type:markdown id:53fea18b-23b6-4d62-9394-b4bdbb6f0d19 tags:
<div class="alert alert-warning"> <div class="alert alert-warning">
[:] does <span style="font-weight:bold">NOT</span> make a shallow copy as for python list it's equivalent to a view [:] does <span style="font-weight:bold">NOT</span> make a shallow copy as for python list it's equivalent to a view
</div> </div>
%% Cell type:code id:44a0929f-fb62-4f50-bf00-a0eabcfaf387 tags: %% Cell type:code id:44a0929f-fb62-4f50-bf00-a0eabcfaf387 tags:
``` python ``` python
a = np.array([1,2,3,4,5]) a = np.array([1,2,3,4,5])
b = a[:] b = a[:]
a[2] = 300 a[2] = 300
a, b a, b
``` ```
%% Output %% Output
(array([ 1, 2, 300, 4, 5]), array([ 1, 2, 300, 4, 5])) (array([ 1, 2, 300, 4, 5]), array([ 1, 2, 300, 4, 5]))
%% Cell type:code id:aebba68e-5679-4a73-8b79-e355eb630dee tags: %% Cell type:code id:aebba68e-5679-4a73-8b79-e355eb630dee tags:
``` python ``` python
c = a.copy() c = a.copy()
c c
``` ```
%% Output %% Output
array([ 1, 2, 300, 4, 5]) array([ 1, 2, 300, 4, 5])
%% Cell type:code id:287123c1-5ab2-4ede-8371-2699fc8aedb0 tags: %% Cell type:code id:287123c1-5ab2-4ede-8371-2699fc8aedb0 tags:
``` python ``` python
c[2] = 150 c[2] = 150
c, a c, a
``` ```
%% Output %% Output
(array([ 1, 2, 150, 4, 5]), array([ 1, 2, 300, 4, 5])) (array([ 1, 2, 150, 4, 5]), array([ 1, 2, 300, 4, 5]))
%% Cell type:markdown id:6fde6353-b338-4f83-8b57-b336df3dcf12 tags: %% Cell type:markdown id:6fde6353-b338-4f83-8b57-b336df3dcf12 tags:
# Fancy indexing # Fancy indexing
> As we have seen before, standard Python slicing and indexing works on NumpPy array. > As we have seen before, standard Python slicing and indexing works on NumpPy array.
> Yet, NumPy provides more indexing, which can be performed with boolean or integer arrays, also called **masked** > Yet, NumPy provides more indexing, which can be performed with boolean or integer arrays, also called **masked**
%% Cell type:markdown id:1af388f7-8270-45c6-952a-5513bf2216eb tags: %% Cell type:markdown id:1af388f7-8270-45c6-952a-5513bf2216eb tags:
## Indexing with boolean masks ## Indexing with boolean masks
> Boolean mask is a very powerful feature in NumPy. > Boolean mask is a very powerful feature in NumPy.
> It can be used to index an array, and assign new values to a sub-array. > It can be used to index an array, and assign new values to a sub-array.
> Note also that it creates copies not views > Note also that it creates copies not views
%% Cell type:code id:df226fb1-d572-42b7-993a-e5710cfe7abd tags: %% Cell type:code id:df226fb1-d572-42b7-993a-e5710cfe7abd tags:
``` python ``` python
data = np.arange(16) data = np.arange(16)
data data
``` ```
%% Output %% Output
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
%% Cell type:markdown id:632306f0-25a3-4b98-b8c6-ff20599aa866 tags: %% Cell type:markdown id:632306f0-25a3-4b98-b8c6-ff20599aa866 tags:
Find all multiple of 7 Find all multiple of 7
%% Cell type:code id:fb5b4ee3-49dd-423e-a6c1-e6b04887ef65 tags: %% Cell type:code id:fb5b4ee3-49dd-423e-a6c1-e6b04887ef65 tags:
``` python ``` python
data % 7 == 0 data % 7 == 0
``` ```
%% Output %% Output
array([ True, False, False, False, False, False, False, True, False, array([ True, False, False, False, False, False, False, True, False,
False, False, False, False, False, True, False]) False, False, False, False, False, True, False])
%% Cell type:code id:bdbfa641-41f3-47df-b701-9e1bb53585a1 tags: %% Cell type:code id:bdbfa641-41f3-47df-b701-9e1bb53585a1 tags:
``` python ``` python
mask = (data % 7 == 0) mask = (data % 7 == 0)
data[mask] data[mask]
``` ```
%% Output %% Output
array([ 0, 7, 14]) array([ 0, 7, 14])
%% Cell type:code id:70a9d62a-6652-41dd-9757-bed6bd523939 tags: %% Cell type:code id:70a9d62a-6652-41dd-9757-bed6bd523939 tags:
``` python ``` python
# Replaces values: # Replaces values:
data[mask] = -100 data[mask] = -100
data data
``` ```
%% Output %% Output
array([-100, 1, 2, 3, 4, 5, 6, -100, 8, 9, 10, array([-100, 1, 2, 3, 4, 5, 6, -100, 8, 9, 10,
11, 12, 13, -100, 15]) 11, 12, 13, -100, 15])
%% Cell type:code id:3e83e3cb-89b9-42a5-af67-5925c2b6f6ec tags: %% Cell type:code id:3e83e3cb-89b9-42a5-af67-5925c2b6f6ec tags:
``` python ``` python
## Indexing with an array of integers ## Indexing with an array of integers
``` ```
%% Cell type:code id:dbcc4a1e-20e1-4dcc-99b2-80d18eaeb1f2 tags: %% Cell type:code id:dbcc4a1e-20e1-4dcc-99b2-80d18eaeb1f2 tags:
``` python ``` python
data = np.array([-1, 2, -3, -4, -5, 10, 20]) data = np.array([-1, 2, -3, -4, -5, 10, 20])
indices = [0, 1, 2, 3] indices = [0, 1, 2, 3]
data[indices] data[indices]
``` ```
%% Output %% Output
array([-1, 2, -3, -4]) array([-1, 2, -3, -4])
%% Cell type:code id:7a2cb72a-5ea3-45a9-a428-bb9f91b38267 tags: %% Cell type:code id:7a2cb72a-5ea3-45a9-a428-bb9f91b38267 tags:
``` python ``` python
data[data<0] data[data<0]
``` ```
%% Output %% Output
array([-1, -3, -4, -5]) array([-1, -3, -4, -5])
%% Cell type:markdown id:7fdcb734-ae19-445e-9ac9-09227185799c tags: %% Cell type:markdown id:7fdcb734-ae19-445e-9ac9-09227185799c tags:
<img src="img/exo_table2.png"> <img src="img/exo_table2.png">
%% Cell type:markdown id:e6503506-a1a5-450b-abb4-97d7b665c44a tags: %% Cell type:markdown id:e6503506-a1a5-450b-abb4-97d7b665c44a tags:
Create the array above and extract the following data sets: Create the array above and extract the following data sets:
> - the 9 blue cells > - the 9 blue cells
> - the 5 orange cells > - the 5 orange cells
> - the green cells > - the green cells
%% Cell type:code id:4aa35130-ab00-4454-9e95-dd1b83c0ef65 tags: %% Cell type:code id:4aa35130-ab00-4454-9e95-dd1b83c0ef65 tags:
``` python ``` python
m = np.array([[i+j for i in range(6)] for j in range(0, 60, 10)]) m = np.array([[i+j for i in range(6)] for j in range(0, 60, 10)])
``` ```
%% Cell type:code id:004c6b0a-b746-440b-b0de-768105c5f8ff tags: %% Cell type:code id:004c6b0a-b746-440b-b0de-768105c5f8ff tags:
``` python ``` python
m m
``` ```
%% Output %% Output
array([[ 0, 1, 2, 3, 4, 5], array([[ 0, 1, 2, 3, 4, 5],
[10, 11, 12, 13, 14, 15], [10, 11, 12, 13, 14, 15],
[20, 21, 22, 23, 24, 25], [20, 21, 22, 23, 24, 25],
[30, 31, 32, 33, 34, 35], [30, 31, 32, 33, 34, 35],
[40, 41, 42, 43, 44, 45], [40, 41, 42, 43, 44, 45],
[50, 51, 52, 53, 54, 55]]) [50, 51, 52, 53, 54, 55]])
%% Cell type:code id:fd6ffaa9-51ae-4c5f-9df5-fee28c60c8ce tags: %% Cell type:code id:fd6ffaa9-51ae-4c5f-9df5-fee28c60c8ce tags:
``` python ``` python
# orange # orange
m[(0,1,2,3,4), (1,2,3,4,5)] m[(0,1,2,3,4), (1,2,3,4,5)]
``` ```
%% Output %% Output
array([ 1, 12, 23, 34, 45]) array([ 1, 12, 23, 34, 45])
%% Cell type:code id:138b542e-7600-4a44-857e-ff22196248f8 tags: %% Cell type:code id:138b542e-7600-4a44-857e-ff22196248f8 tags:
``` python ``` python
# blue: # blue:
m[3:, [0,2,5]] m[3:, [0,2,5]]
``` ```
%% Output %% Output
array([[30, 32, 35], array([[30, 32, 35],
[40, 42, 45], [40, 42, 45],
[50, 52, 55]]) [50, 52, 55]])
%% Cell type:code id:9f46cd0e-1091-45d8-bef6-0556ebd4de87 tags: %% Cell type:code id:9f46cd0e-1091-45d8-bef6-0556ebd4de87 tags:
``` python ``` python
# green # green
m[np.array([True, False,True,False,False,True]),4] m[np.array([True, False,True,False,False,True]),4]
``` ```
%% Output %% Output
array([ 4, 24, 54]) array([ 4, 24, 54])
%% Cell type:code id:db0028dc-5cf2-4bc0-a104-d861bed4cb1e tags: %% Cell type:code id:db0028dc-5cf2-4bc0-a104-d861bed4cb1e tags:
``` python ``` python
# green # green
m[np.array([1, 0, 1, 0, 0, 1], dtype=bool), 4] m[np.array([1, 0, 1, 0, 0, 1], dtype=bool), 4]
``` ```
%% Output %% Output
array([ 4, 24, 54]) array([ 4, 24, 54])
%% Cell type:markdown id:de6caebb-8bf9-4494-bd9e-1e3f01e6c3d1 tags: %% Cell type:markdown id:de6caebb-8bf9-4494-bd9e-1e3f01e6c3d1 tags:
# Numerical operations # Numerical operations
%% Cell type:code id:d514d0e2-d739-4f46-a04b-423b65222ab0 tags: %% Cell type:code id:d514d0e2-d739-4f46-a04b-423b65222ab0 tags:
``` python ``` python
a = np.array([[4, 7], a = np.array([[4, 7],
[2, 6]]) [2, 6]])
b = np.array([[0.6, -0.7], b = np.array([[0.6, -0.7],
[-0.2, 0.4]]) [-0.2, 0.4]])
``` ```
%% Cell type:code id:a9a1823e-3d4b-46d8-85c6-131d9e8a24ed tags: %% Cell type:code id:a9a1823e-3d4b-46d8-85c6-131d9e8a24ed tags:
``` python ``` python
a + b a + b
``` ```
%% Output %% Output
array([[4.6, 6.3], array([[4.6, 6.3],
[1.8, 6.4]]) [1.8, 6.4]])
%% Cell type:markdown id:126f72e2-85f6-4fc7-a9cd-1de1ab33d390 tags: %% Cell type:markdown id:126f72e2-85f6-4fc7-a9cd-1de1ab33d390 tags:
<div class="alert alert-warning"> <div class="alert alert-warning">
Again be careful with copies and views Again be careful with copies and views
</div> </div>
%% Cell type:code id:abaeea51-55b6-4bd7-806a-af9a5b7c7bc6 tags: %% Cell type:code id:abaeea51-55b6-4bd7-806a-af9a5b7c7bc6 tags:
``` python ``` python
c = b.copy() c = b.copy()
``` ```
%% Cell type:code id:df03e4ad-5ab2-41e9-a4ab-ebf5ce95c81a tags: %% Cell type:code id:df03e4ad-5ab2-41e9-a4ab-ebf5ce95c81a tags:
``` python ``` python
c *= 2 c *= 2
``` ```
%% Cell type:code id:cda76afb-1fc7-4163-a0b0-f3073c84a6a3 tags: %% Cell type:code id:cda76afb-1fc7-4163-a0b0-f3073c84a6a3 tags:
``` python ``` python
c, b c, b
``` ```
%% Output %% Output
(array([[ 1.2, -1.4], (array([[ 1.2, -1.4],
[-0.4, 0.8]]), [-0.4, 0.8]]),
array([[ 0.6, -0.7], array([[ 0.6, -0.7],
[-0.2, 0.4]])) [-0.2, 0.4]]))
%% Cell type:code id:4225c892-6cb0-4646-b77a-6f6048b6b6ed tags: %% Cell type:code id:4225c892-6cb0-4646-b77a-6f6048b6b6ed tags:
``` python ``` python
# elementwise product # elementwise product
a * b a * b
``` ```
%% Output %% Output
array([[ 2.4, -4.9], array([[ 2.4, -4.9],
[-0.4, 2.4]]) [-0.4, 2.4]])
%% Cell type:markdown id:94a02111-0279-4a87-ba0e-ae478609efed tags: %% Cell type:markdown id:94a02111-0279-4a87-ba0e-ae478609efed tags:
<div class="alert alert-warning"> <div class="alert alert-warning">
This is not a matrix product This is not a matrix product
</div> </div>
%% Cell type:code id:1b473d9c-0829-4126-865c-02868e3cbd9e tags: %% Cell type:code id:1b473d9c-0829-4126-865c-02868e3cbd9e tags:
``` python ``` python
# matrix product # matrix product
a.dot(b) a.dot(b)
``` ```
%% Output %% Output
array([[ 1.00000000e+00, 3.33066907e-16], array([[ 1.00000000e+00, 3.33066907e-16],
[-1.11022302e-16, 1.00000000e+00]]) [-1.11022302e-16, 1.00000000e+00]])
%% Cell type:code id:7801f83c-97af-4914-be29-4cebd6600901 tags: %% Cell type:code id:7801f83c-97af-4914-be29-4cebd6600901 tags:
``` python ``` python
a.dot(b).round() a.dot(b).round()
``` ```
%% Output %% Output
array([[ 1., 0.], array([[ 1., 0.],
[-0., 1.]]) [-0., 1.]])
%% Cell type:markdown id:e81611c8-de34-4c8c-97b9-baa2bf5740f9 tags: %% Cell type:markdown id:e81611c8-de34-4c8c-97b9-baa2bf5740f9 tags:
# Reductions # Reductions
%% Cell type:code id:d18a1e4d-5bf7-46a8-a4f7-968b692e2ce8 tags: %% Cell type:code id:d18a1e4d-5bf7-46a8-a4f7-968b692e2ce8 tags:
``` python ``` python
x = np.array([1,2,3,4,-1,-2,-3,-4]) x = np.array([1,2,3,4,-1,-2,-3,-4])
``` ```
%% Cell type:code id:2d537f9c-454b-4b75-879a-626cd97fc9ee tags: %% Cell type:code id:2d537f9c-454b-4b75-879a-626cd97fc9ee tags:
``` python ``` python
print("sum =", x.sum()) print("sum =", x.sum())
print("min =", x.min()) print("min =", x.min())
print("max =", x.max()) print("max =", x.max())
print("position of the max =", x.argmax()) print("position of the max =", x.argmax())
``` ```
%% Output %% Output
sum = 0 sum = 0
min = -4 min = -4
max = 4 max = 4
position of the max = 3 position of the max = 3
%% Cell type:code id:e501a139-9e25-40b4-8c24-ee830f8ddfe1 tags: %% Cell type:code id:e501a139-9e25-40b4-8c24-ee830f8ddfe1 tags:
``` python ``` python
a = np.array([ a = np.array([
[1,10,1], [1,10,1],
[2,8,3] [2,8,3]
]) ])
``` ```
%% Cell type:code id:67bb7f69-c474-4fc8-bf05-9ea39a886425 tags: %% Cell type:code id:67bb7f69-c474-4fc8-bf05-9ea39a886425 tags:
``` python ``` python
a.sum() a.sum()
``` ```
%% Output %% Output
25 np.int64(25)
%% Cell type:code id:7c4cdca1-e81b-4eea-b7dd-5a7a490f9da0 tags: %% Cell type:code id:7c4cdca1-e81b-4eea-b7dd-5a7a490f9da0 tags:
``` python ``` python
a.sum(axis=0) # sum along the axis 0 or rows a.sum(axis=0) # sum along the axis 0 or rows
``` ```
%% Output %% Output
array([ 3, 18, 4]) array([ 3, 18, 4])
%% Cell type:code id:53413090-49ba-4ecb-96de-6edc48169bff tags: %% Cell type:code id:53413090-49ba-4ecb-96de-6edc48169bff tags:
``` python ``` python
a.sum(axis=1) # sum along the axis 1 or columns a.sum(axis=1) # sum along the axis 1 or columns
``` ```
%% Output %% Output
array([12, 13]) array([12, 13])
%% Cell type:markdown id:65f7da4e-18c1-4c85-ad5b-fe34fd6e703a tags: %% Cell type:markdown id:65f7da4e-18c1-4c85-ad5b-fe34fd6e703a tags:
# Iterations # Iterations
%% Cell type:code id:671bd896-5aa0-4ebf-b894-addf94453844 tags: %% Cell type:code id:671bd896-5aa0-4ebf-b894-addf94453844 tags:
``` python ``` python
x = np.random.normal(size=12).reshape(6,2) x = np.random.normal(size=12).reshape(6,2)
``` ```
%% Cell type:code id:9ba4ce3a-51ab-4284-97df-0d0c87625783 tags: %% Cell type:code id:9ba4ce3a-51ab-4284-97df-0d0c87625783 tags:
``` python ``` python
x x
``` ```
%% Output %% Output
array([[-0.49113682, 0.28880782], array([[-0.26020648, 0.26368625],
[-1.89906736, -0.58253771], [ 0.42129755, -0.56914431],
[ 1.0224148 , -0.11296469], [-0.40631094, -2.08134291],
[ 1.14279032, 0.00567871], [-0.1991786 , 1.04618945],
[-1.03474836, 1.44914073], [-0.50518875, -1.01945961],
[ 1.30421041, 1.60822144]]) [ 0.40947048, 0.40108879]])
%% Cell type:code id:7402047a-c8ef-4015-be8e-16e72c0e9bd4 tags: %% Cell type:code id:7402047a-c8ef-4015-be8e-16e72c0e9bd4 tags:
``` python ``` python
for row in x: for row in x:
if row.sum() > 0 : if row.sum() > 0 :
print(row) print(row)
``` ```
%% Output %% Output
[ 1.0224148 -0.11296469] [-0.26020648 0.26368625]
[1.14279032 0.00567871] [-0.1991786 1.04618945]
[-1.03474836 1.44914073] [0.40947048 0.40108879]
[1.30421041 1.60822144]
%% Cell type:code id:5d844860-7ff0-459b-b9ac-6f2064fc9433 tags: %% Cell type:code id:5d844860-7ff0-459b-b9ac-6f2064fc9433 tags:
``` python ``` python
for item in x.flat: for item in x.flat:
if item >1: if item >1:
print(item) print(item)
``` ```
%% Output %% Output
1.0224148000050624 1.046189447818475
1.1427903227607883
1.4491407331363357
1.304210408041745
1.608221438002454
%% Cell type:code id:126c649a-2d22-474a-b296-79780879bfd2 tags: %% Cell type:code id:126c649a-2d22-474a-b296-79780879bfd2 tags:
``` python ``` python
res = np.sqrt(-1) res = np.sqrt(-1)
``` ```
%% Output %% Output
<ipython-input-98-396fc74286c3>:1: RuntimeWarning: invalid value encountered in sqrt /tmp/ipykernel_30528/3450995395.py:1: RuntimeWarning: invalid value encountered in sqrt
res = np.sqrt(-1) res = np.sqrt(-1)
%% Cell type:code id:de9dcc1b-50fa-4c36-ae0c-949c6feec993 tags: %% Cell type:code id:de9dcc1b-50fa-4c36-ae0c-949c6feec993 tags:
``` python ``` python
res res
``` ```
%% Output %% Output
nan np.float64(nan)
%% Cell type:code id:4baa648b-3dac-4b6f-8bcb-ec412bc70588 tags: %% Cell type:code id:4baa648b-3dac-4b6f-8bcb-ec412bc70588 tags:
``` python ``` python
np.isnan(res) np.isnan(res)
``` ```
%% Output %% Output
True np.True_
%% Cell type:code id:5e7cca16-f5c3-42fc-8000-8d51a9a8a306 tags: %% Cell type:code id:5e7cca16-f5c3-42fc-8000-8d51a9a8a306 tags:
``` python ``` python
import sys import sys
sys.float_info.max sys.float_info.max
``` ```
%% Output %% Output
1.7976931348623157e+308 1.7976931348623157e+308
%% Cell type:code id:60ae8823-eea4-4fa4-8143-c28363cc057f tags: %% Cell type:code id:60ae8823-eea4-4fa4-8143-c28363cc057f tags:
``` python ``` python
res = np.array([1e308,1e300]) * 10 res = np.array([1e308,1e300]) * 10
``` ```
%% Output %% Output
<ipython-input-102-5f50193860e4>:1: RuntimeWarning: overflow encountered in multiply /tmp/ipykernel_30528/3411038522.py:1: RuntimeWarning: overflow encountered in multiply
res = np.array([1e308,1e300]) * 10 res = np.array([1e308,1e300]) * 10
%% Cell type:code id:0f1d4df4-f241-4631-9cbd-adf47a59f1a7 tags: %% Cell type:code id:0f1d4df4-f241-4631-9cbd-adf47a59f1a7 tags:
``` python ``` python
res res
``` ```
%% Output %% Output
array([ inf, 1.e+301]) array([ inf, 1.e+301])
%% Cell type:markdown id:3e68aac4-2052-4741-9b1f-245e0e84fa0f tags: %% Cell type:markdown id:3e68aac4-2052-4741-9b1f-245e0e84fa0f tags:
# Resizing # Resizing
%% Cell type:code id:7c3004c5-76a7-467b-9439-ecc01c32e65f tags: %% Cell type:code id:7c3004c5-76a7-467b-9439-ecc01c32e65f tags:
``` python ``` python
a = np.diag([1,2,3,4]) a = np.diag([1,2,3,4])
``` ```
%% Cell type:code id:21f0e588-628a-4c28-872f-6f1057950b8e tags: %% Cell type:code id:21f0e588-628a-4c28-872f-6f1057950b8e tags:
``` python ``` python
# Can be used to add a column or a row # Can be used to add a column or a row
a.resize((5,4)) a.resize((5,4))
a a
``` ```
%% Output %% Output
array([[1, 0, 0, 0], array([[1, 0, 0, 0],
[0, 2, 0, 0], [0, 2, 0, 0],
[0, 0, 3, 0], [0, 0, 3, 0],
[0, 0, 0, 4], [0, 0, 0, 4],
[0, 0, 0, 0]]) [0, 0, 0, 0]])
%% Cell type:markdown id:5539cdf8-c6ff-4e69-a489-4fcc4081987f tags: %% Cell type:markdown id:5539cdf8-c6ff-4e69-a489-4fcc4081987f tags:
# transpose # transpose
%% Cell type:code id:43e34be1-6075-4358-97ea-b1f317b8fa8e tags: %% Cell type:code id:43e34be1-6075-4358-97ea-b1f317b8fa8e tags:
``` python ``` python
a = np.arange(12).reshape((3,4)) a = np.arange(12).reshape((3,4))
a a
``` ```
%% Output %% Output
array([[ 0, 1, 2, 3], array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7], [ 4, 5, 6, 7],
[ 8, 9, 10, 11]]) [ 8, 9, 10, 11]])
%% Cell type:code id:f377af8c-b264-4bdc-bce1-43cc5f7d7788 tags: %% Cell type:code id:f377af8c-b264-4bdc-bce1-43cc5f7d7788 tags:
``` python ``` python
b = a.T b = a.T
b b
``` ```
%% Output %% Output
array([[ 0, 4, 8], array([[ 0, 4, 8],
[ 1, 5, 9], [ 1, 5, 9],
[ 2, 6, 10], [ 2, 6, 10],
[ 3, 7, 11]]) [ 3, 7, 11]])
%% Cell type:markdown id:8cdcb8a7-899d-41d6-a34a-aad8d985a9e1 tags: %% Cell type:markdown id:8cdcb8a7-899d-41d6-a34a-aad8d985a9e1 tags:
# swapaxes # swapaxes
Interchange two axes of an array. Interchange two axes of an array.
(https://numpy.org/doc/stable/reference/generated/numpy.swapaxes.html) (https://numpy.org/doc/stable/reference/generated/numpy.swapaxes.html)
%% Cell type:code id:1c44286f-0a9c-4943-9288-6797ecebfb90 tags: %% Cell type:code id:1c44286f-0a9c-4943-9288-6797ecebfb90 tags:
``` python ``` python
a = np.arange(24).reshape((3,4,2)) a = np.arange(24).reshape((3,4,2))
a a
``` ```
%% Output %% Output
array([[[ 0, 1], array([[[ 0, 1],
[ 2, 3], [ 2, 3],
[ 4, 5], [ 4, 5],
[ 6, 7]], [ 6, 7]],
[[ 8, 9], [[ 8, 9],
[10, 11], [10, 11],
[12, 13], [12, 13],
[14, 15]], [14, 15]],
[[16, 17], [[16, 17],
[18, 19], [18, 19],
[20, 21], [20, 21],
[22, 23]]]) [22, 23]]])
%% Cell type:code id:669aacba-f92b-417c-bac2-a03bcb90c529 tags: %% Cell type:code id:669aacba-f92b-417c-bac2-a03bcb90c529 tags:
``` python ``` python
b = a.swapaxes(0,2) b = a.swapaxes(0,2)
b b
``` ```
%% Output %% Output
array([[[ 0, 8, 16], array([[[ 0, 8, 16],
[ 2, 10, 18], [ 2, 10, 18],
[ 4, 12, 20], [ 4, 12, 20],
[ 6, 14, 22]], [ 6, 14, 22]],
[[ 1, 9, 17], [[ 1, 9, 17],
[ 3, 11, 19], [ 3, 11, 19],
[ 5, 13, 21], [ 5, 13, 21],
[ 7, 15, 23]]]) [ 7, 15, 23]]])
%% Cell type:code id:62303e1d-5192-4112-9809-b0fcdd3b053b tags: %% Cell type:code id:62303e1d-5192-4112-9809-b0fcdd3b053b tags:
``` python ``` python
a.shape, b.shape a.shape, b.shape
``` ```
%% Output %% Output
((3, 4, 2), (2, 4, 3)) ((3, 4, 2), (2, 4, 3))
%% Cell type:markdown id:eebd0afa-3a38-41e5-8dbc-ac9a8b4d1460 tags: %% Cell type:markdown id:eebd0afa-3a38-41e5-8dbc-ac9a8b4d1460 tags:
# array concatenation # array concatenation
%% Cell type:code id:41f5d5e0-6734-4cc4-a34b-124080bca6ee tags: %% Cell type:code id:41f5d5e0-6734-4cc4-a34b-124080bca6ee tags:
``` python ``` python
a = np.array([1, 2, 3]) a = np.array([1, 2, 3])
b = np.array([4, 5, 6]) b = np.array([4, 5, 6])
c = np.vstack([a, b]) c = np.vstack([a, b])
c c
``` ```
%% Output %% Output
array([[1, 2, 3], array([[1, 2, 3],
[4, 5, 6]]) [4, 5, 6]])
%% Cell type:code id:5dfb4a39-bea4-4fee-96b9-b705a04d4fe1 tags: %% Cell type:code id:5dfb4a39-bea4-4fee-96b9-b705a04d4fe1 tags:
``` python ``` python
# equivalent of the + operator with list # equivalent of the + operator with list
np.hstack([a,b]) np.hstack([a,b])
``` ```
%% Output %% Output
array([1, 2, 3, 4, 5, 6]) array([1, 2, 3, 4, 5, 6])
%% Cell type:code id:cd14e23e-bb95-4270-ae9b-bbaf65940498 tags: %% Cell type:code id:cd14e23e-bb95-4270-ae9b-bbaf65940498 tags:
``` python ``` python
a = np.arange(6).reshape(2,3) a = np.arange(6).reshape(2,3)
b = np.arange(10,16).reshape(2,3) b = np.arange(10,16).reshape(2,3)
np.hstack([a,b]) np.hstack([a,b])
``` ```
%% Output %% Output
array([[ 0, 1, 2, 10, 11, 12], array([[ 0, 1, 2, 10, 11, 12],
[ 3, 4, 5, 13, 14, 15]]) [ 3, 4, 5, 13, 14, 15]])
%% Cell type:markdown id:1345c700-b01a-4f49-9976-07fcd582cfd8 tags: %% Cell type:markdown id:1345c700-b01a-4f49-9976-07fcd582cfd8 tags:
# Sorting # Sorting
%% Cell type:code id:62861c8f-3128-4a06-b23b-4908fbfeea60 tags: %% Cell type:code id:62861c8f-3128-4a06-b23b-4908fbfeea60 tags:
``` python ``` python
a = np.array([5,1,10,2,7,8]) a = np.array([5,1,10,2,7,8])
a.sort() # inplace a.sort() # inplace
a a
``` ```
%% Output %% Output
array([ 1, 2, 5, 7, 8, 10]) array([ 1, 2, 5, 7, 8, 10])
%% Cell type:code id:0dd2dedc-3b44-4ac3-9fa9-f7211f2bbc5e tags: %% Cell type:code id:0dd2dedc-3b44-4ac3-9fa9-f7211f2bbc5e tags:
``` python ``` python
a = np.array([5,1,10,2,7,8]) a = np.array([5,1,10,2,7,8])
sorted_a = np.sort(a) # new array sorted_a = np.sort(a) # new array
sorted_a sorted_a
``` ```
%% Output %% Output
array([ 1, 2, 5, 7, 8, 10]) array([ 1, 2, 5, 7, 8, 10])
%% Cell type:code id:7a3842bf-e445-4203-9674-ec6d2fd50586 tags: %% Cell type:code id:7a3842bf-e445-4203-9674-ec6d2fd50586 tags:
``` python ``` python
a a
``` ```
%% Output %% Output
array([ 5, 1, 10, 2, 7, 8]) array([ 5, 1, 10, 2, 7, 8])
%% Cell type:code id:2f8c81b1-fac2-4073-a965-166e1d144170 tags: %% Cell type:code id:2f8c81b1-fac2-4073-a965-166e1d144170 tags:
``` python ``` python
a = np.array([5,1,10,2,7,8]) a = np.array([5,1,10,2,7,8])
a.argsort() a.argsort()
``` ```
%% Output %% Output
array([1, 3, 0, 4, 5, 2]) array([1, 3, 0, 4, 5, 2])
%% Cell type:markdown id:12dc5a6c-a439-45df-bde5-03f63bf6111d tags: %% Cell type:markdown id:12dc5a6c-a439-45df-bde5-03f63bf6111d tags:
# Loading data # Loading data
Numpy has its own reader of tabulated data sets Numpy has its own reader of tabulated data sets
np.genfromtxt, np.loads, ... np.genfromtxt, np.loads, ...
However, we will use pandas read_csv function that is far better However, we will use pandas read_csv function that is far better
%% Cell type:code id:438224df-8e68-4666-9e45-b55917be05bf tags: %% Cell type:code id:438224df-8e68-4666-9e45-b55917be05bf tags:
``` python ``` python
``` ```
......
%% Cell type:markdown id:horizontal-listening tags: %% Cell type:markdown id:horizontal-listening tags:
# <center><b>Course</b></center> # <center><b>Course</b></center>
<div style="text-align:center"> <div style="text-align:center">
<img src="images/pandas_logo.svg" width="600px"> <img src="../images/pandas_logo.svg" width="600px">
<div> <div>
Bertrand Néron, François Laurent, Etienne Kornobis Bertrand Néron, François Laurent, Etienne Kornobis
<br /> <br />
<a src=" https://research.pasteur.fr/en/team/bioinformatics-and-biostatistics-hub/">Bioinformatics and Biostatistics HUB</a> <a src=" https://research.pasteur.fr/en/team/bioinformatics-and-biostatistics-hub/">Bioinformatics and Biostatistics HUB</a>
<br /> <br />
© Institut Pasteur, 2021 © Institut Pasteur, 2021
</div> </div>
</div> </div>
%% Cell type:markdown id:sophisticated-concept tags: %% Cell type:markdown id:sophisticated-concept tags:
# Intro # Intro
**Pandas** is a library to manipulate data structures and perform data analysis and visualization. Pandas is built on top of **Numpy**, a widely used library for mathematical operation particularly on arrays and matrices. Pandas is helping with data analysis stack, including data cleaning/formatting followed by analysis and visualization. **Pandas** is a library to manipulate data structures and perform data analysis and visualization. Pandas is built on top of **Numpy**, a widely used library for mathematical operation particularly on arrays and matrices. Pandas is helping with data analysis stack, including data cleaning/formatting followed by analysis and visualization.
Pandas is particularly well suited to deal with tabular data which can be imported from different formats such are **csv**, **tsv** or even **xlsx**. Pandas is particularly well suited to deal with tabular data which can be imported from different formats such are **csv**, **tsv** or even **xlsx**.
The two primary data structures in pandas are **Series** and **DataFrames**. The two primary data structures in pandas are **Series** and **DataFrames**.
Pandas is designed to manipulate tabulated data, Numpy is designed to do computation on arrays. So here are the differences: Pandas is designed to manipulate tabulated data, Numpy is designed to do computation on arrays. So here are the differences:
**Numpy** **Numpy**
* handles one structure: the ndarray. * handles one structure: the ndarray.
* an *array* can have 1, 2 or more dimensions. * an *array* can have 1, 2 or more dimensions.
* A *ndarray* handles homogeneous data, only one datatype in an array. * A *ndarray* handles homogeneous data, only one datatype in an array.
* So numpy is mostly used to do math on arrays. * So numpy is mostly used to do math on arrays.
**Pandas** **Pandas**
* *Series* have 1 dimension, *DataFrame* have 2 dimensions. * *Series* have 1 dimension, *DataFrame* have 2 dimensions.
* *Pandas* does **not** handle structures with more than 2 dimensions. * *Pandas* does **not** handle structures with more than 2 dimensions.
* But a *DataFrame* can contain heterogenous data, each column can have a different datatype. * But a *DataFrame* can contain heterogenous data, each column can have a different datatype.
* *Pandas* is more powerful to query data or manipulate them. * *Pandas* is more powerful to query data or manipulate them.
So *Numpy* is mostly used to do math, *Pandas* to explore data structured in tables. So *Numpy* is mostly used to do math, *Pandas* to explore data structured in tables.
%% Cell type:markdown id:velvet-payroll tags: %% Cell type:markdown id:velvet-payroll tags:
# Installation # Installation
For *conda* users For *conda* users
```shell ```shell
conda install pandas conda install pandas
``` ```
for *pip* users for *pip* users
```shell ```shell
pip install pandas pip install pandas
``` ```
%% Cell type:markdown id:falling-radar tags: %% Cell type:markdown id:falling-radar tags:
# Import Convention # Import Convention
%% Cell type:code id:executed-tsunami tags: %% Cell type:code id:executed-tsunami tags:
``` python ``` python
import numpy as np import numpy as np
import pandas as pd import pandas as pd
``` ```
%% Cell type:markdown id:foster-convert tags: %% Cell type:markdown id:foster-convert tags:
# Series # Series
A Series is a one-dimensional array with axis labels. Labels do not need to be A Series is a one-dimensional array with axis labels. Labels do not need to be
unique (but it's a better practice if they are) but must be hashable. unique (but it's a better practice if they are) but must be hashable.
To create a series, use the pandas `Series` object and specify a list or tuple To create a series, use the pandas `Series` object and specify a list or tuple
of value to feed your series with as the first argument: of value to feed your series with as the first argument:
%% Cell type:code id:musical-civilization tags: %% Cell type:code id:musical-civilization tags:
``` python ``` python
series_nolabel = pd.Series([1,2,3]) series_nolabel = pd.Series([1,2,3])
type(series_nolabel) type(series_nolabel)
``` ```
%% Output %% Output
pandas.core.series.Series pandas.core.series.Series
%% Cell type:code id:superb-relaxation tags: %% Cell type:code id:superb-relaxation tags:
``` python ``` python
series_nolabel series_nolabel
``` ```
%% Output %% Output
0 1 0 1
1 2 1 2
2 3 2 3
dtype: int64 dtype: int64
%% Cell type:markdown id:coordinated-issue tags: %% Cell type:markdown id:coordinated-issue tags:
You can specify the labels of your Series by providing a list of labels with the `index` argument: You can specify the labels of your Series by providing a list of labels with the `index` argument:
%% Cell type:code id:received-flash tags: %% Cell type:code id:received-flash tags:
``` python ``` python
series_label = pd.Series([1,2,3], index=['A', 'B', 'C']) series_label = pd.Series([1,2,3], index=['A', 'B', 'C'])
series_label series_label
``` ```
%% Output %% Output
A 1 A 1
B 2 B 2
C 3 C 3
dtype: int64 dtype: int64
%% Cell type:markdown id:sorted-optimum tags: %% Cell type:markdown id:sorted-optimum tags:
And we can access these indices with the `index` property: And we can access these indices with the `index` property:
%% Cell type:code id:immune-physiology tags: %% Cell type:code id:immune-physiology tags:
``` python ``` python
series_nolabel.index series_nolabel.index
``` ```
%% Output %% Output
RangeIndex(start=0, stop=3, step=1) RangeIndex(start=0, stop=3, step=1)
%% Cell type:code id:systematic-working tags: %% Cell type:code id:systematic-working tags:
``` python ``` python
series_label.index series_label.index
``` ```
%% Output %% Output
Index(['A', 'B', 'C'], dtype='object') Index(['A', 'B', 'C'], dtype='object')
%% Cell type:markdown id:18fe91f2-6032-456a-b808-2ab18fa994ba tags: %% Cell type:markdown id:18fe91f2-6032-456a-b808-2ab18fa994ba tags:
## Indexing/Slicing ## Indexing/Slicing
%% Cell type:markdown id:9f828aa6-64ef-4c5f-82ac-8e14ff768804 tags: %% Cell type:markdown id:9f828aa6-64ef-4c5f-82ac-8e14ff768804 tags:
The syntax used for slicing Series in pandas is similar to the syntax used to slice lists in python, see for example: The syntax used for slicing Series in pandas is similar to the syntax used to slice lists in python, see for example:
%% Cell type:code id:73d895e3-0702-4025-b9b3-551912903922 tags: %% Cell type:code id:73d895e3-0702-4025-b9b3-551912903922 tags:
``` python ``` python
ex_list = [1,2,3] ex_list = [1,2,3]
ex_list[0] ex_list[0]
``` ```
%% Output %% Output
1 1
%% Cell type:code id:0e2b7687-45c2-4674-b390-c23a22ae9858 tags: %% Cell type:code id:0e2b7687-45c2-4674-b390-c23a22ae9858 tags:
``` python ``` python
ex_list[0:2] ex_list[0:2]
``` ```
%% Output %% Output
[1, 2] [1, 2]
%% Cell type:code id:32fef6c2-f717-4a39-972a-805c70a240a9 tags: %% Cell type:code id:32fef6c2-f717-4a39-972a-805c70a240a9 tags:
``` python ``` python
ex_list[::-1] ex_list[::-1]
``` ```
%% Output %% Output
[3, 2, 1] [3, 2, 1]
%% Cell type:markdown id:961217e5-5345-4015-bc3d-79a140bec151 tags: %% Cell type:markdown id:961217e5-5345-4015-bc3d-79a140bec151 tags:
In order to subset a serie based on an **integer index**, you can use the `iloc` attribute with the same syntax as with lists slices: In order to subset a serie based on an **integer index**, you can use the `iloc` attribute with the same syntax as with lists slices:
%% Cell type:code id:95bf2f46-a4ce-4a6a-a201-943b1cd3bf80 tags: %% Cell type:code id:95bf2f46-a4ce-4a6a-a201-943b1cd3bf80 tags:
``` python ``` python
series_nolabel series_nolabel
``` ```
%% Output %% Output
0 1 0 1
1 2 1 2
2 3 2 3
dtype: int64 dtype: int64
%% Cell type:code id:alternate-banks tags: %% Cell type:code id:alternate-banks tags:
``` python ``` python
series_nolabel.iloc[1] series_nolabel.iloc[1]
``` ```
%% Output %% Output
2 np.int64(2)
%% Cell type:code id:standing-train tags: %% Cell type:code id:standing-train tags:
``` python ``` python
series_label.iloc[1] series_label.iloc[1]
``` ```
%% Output %% Output
2 np.int64(2)
%% Cell type:code id:severe-correlation tags: %% Cell type:code id:severe-correlation tags:
``` python ``` python
series_label.iloc[0:2] series_label.iloc[0:2]
``` ```
%% Output %% Output
A 1 A 1
B 2 B 2
dtype: int64 dtype: int64
%% Cell type:code id:raising-grenada tags: %% Cell type:code id:raising-grenada tags:
``` python ``` python
series_label.iloc[::-1] series_label.iloc[::-1]
``` ```
%% Output %% Output
C 3 C 3
B 2 B 2
A 1 A 1
dtype: int64 dtype: int64
%% Cell type:markdown id:blocked-roommate tags: %% Cell type:markdown id:blocked-roommate tags:
Most commonly, You can use **labels** as well for subsetting, using the `loc` attribute: Most commonly, You can use **labels** as well for subsetting, using the `loc` attribute:
%% Cell type:code id:accompanied-pantyhose tags: %% Cell type:code id:accompanied-pantyhose tags:
``` python ``` python
series_label.loc["B"] series_label.loc["B"]
``` ```
%% Output %% Output
2 np.int64(2)
%% Cell type:markdown id:durable-lesson tags: %% Cell type:markdown id:durable-lesson tags:
**WARNING**: With `loc`, the value is interpreted as a label of the **WARNING**: With `loc`, the value is interpreted as a label of the
index, and **never** as an integer position along the index, there is `iloc` for this. index, and **never** as an integer position along the index, there is `iloc` for this.
When index labels are strings, you can as well access the corresponding value using this simple syntax `.LABEL_VALUE` When index labels are strings, you can as well access the corresponding value using this simple syntax `.LABEL_VALUE`
%% Cell type:code id:comparative-guinea tags: %% Cell type:code id:comparative-guinea tags:
``` python ``` python
series_label.A series_label.A
``` ```
%% Output %% Output
1 np.int64(1)
%% Cell type:markdown id:convenient-constitution tags: %% Cell type:markdown id:convenient-constitution tags:
Serie objects benefit from many attributes and methods (see [pandas documentation](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.html)), lot's of them being common with pandas DataFrames. We will see some of the ones listed below in action in the DataFrame section of this course. Serie objects benefit from many attributes and methods (see [pandas documentation](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.html)), lot's of them being common with pandas DataFrames. We will see some of the ones listed below in action in the DataFrame section of this course.
Here are some attributes of interest: Here are some attributes of interest:
|Attribute|Action| |Attribute|Action|
|-|-| |-|-|
|index|Returns the index (0 axis labels) of the Series| |index|Returns the index (0 axis labels) of the Series|
|name|Return the name of the Series| |name|Return the name of the Series|
|shape|Return the number of element in the Series| |shape|Return the number of element in the Series|
And some useful methods: And some useful methods:
|Method|Action| |Method|Action|
|-|-| |-|-|
|aggregate|Aggregate using one or more operations over the specified axis| |aggregate|Aggregate using one or more operations over the specified axis|
|all|Return whether all elements are True potentially over an axis| |all|Return whether all elements are True potentially over an axis|
|any|Return whether any element is True potentially over an axis| |any|Return whether any element is True potentially over an axis|
|apply|Invoke function on values of Series| |apply|Invoke function on values of Series|
|astype|Cast a pandas object to a specified dtype| |astype|Cast a pandas object to a specified dtype|
|copy|Make a copy of this object’s indices and data| |copy|Make a copy of this object’s indices and data|
|count|Return number of non-NA/null observations in the Series| |count|Return number of non-NA/null observations in the Series|
|describe|Generate descriptive statistics that summarize the central tendency dispersion and shape of a dataset’s distribution, excluding NaN values| |describe|Generate descriptive statistics that summarize the central tendency dispersion and shape of a dataset’s distribution, excluding NaN values|
|drop|Return Series with specified index labels removed| |drop|Return Series with specified index labels removed|
|groupby|Group DataFrame or Series using a mapper or by a Series of columns| |groupby|Group DataFrame or Series using a mapper or by a Series of columns|
|head / tail|Return the first / last n rows| |head / tail|Return the first / last n rows|
|max, min, median, mean, sum|Perform the corresponding operation on the Serie| |max, min, median, mean, sum|Perform the corresponding operation on the Serie|
|plot|Plot graphs from Serie/DataFrame| |plot|Plot graphs from Serie/DataFrame|
|reset_index|Generate a new DataFrame or Series with the index reset| |reset_index|Generate a new DataFrame or Series with the index reset|
|sort_values|Sort by values a the specified column| |sort_values|Sort by values a the specified column|
|str|String methods for series| | |str|String methods for series| |
|to_csv, to_excel|Export to csv or excel file| |to_csv, to_excel|Export to csv or excel file|
|unique|Return unique values of Series object| |unique|Return unique values of Series object|
|value_counts|Return a Series containing counts of unique values| |value_counts|Return a Series containing counts of unique values|
%% Cell type:markdown id:arabic-affairs tags: %% Cell type:markdown id:arabic-affairs tags:
## Operations on Series ## Operations on Series
Comparison operators (ie `==`, `<`, `<=`, `>=`, `>`) can be used on Series as well as DataFrames for subsetting. Comparison operators (ie `==`, `<`, `<=`, `>=`, `>`) can be used on Series as well as DataFrames for subsetting.
For example, we want to see which values are superior to 1 in our previous Series: For example, we want to see which values are superior to 1 in our previous Series:
%% Cell type:code id:million-richards tags: %% Cell type:code id:million-richards tags:
``` python ``` python
series_label > 1 series_label > 1
``` ```
%% Output %% Output
A False A False
B True B True
C True C True
dtype: bool dtype: bool
%% Cell type:markdown id:unlike-monaco tags: %% Cell type:markdown id:unlike-monaco tags:
On top of labels, `loc` can actually take a list or Series of booleans as input. We can therefore apply this boolean Series `series_label > 1` as a mask: On top of labels, `loc` can actually take a list or Series of booleans as input. We can therefore apply this boolean Series `series_label > 1` as a mask:
%% Cell type:code id:ordered-rendering tags: %% Cell type:code id:ordered-rendering tags:
``` python ``` python
series_label.loc[series_label > 1] series_label.loc[series_label > 1]
``` ```
%% Output %% Output
B 2 B 2
C 3 C 3
dtype: int64 dtype: int64
%% Cell type:markdown id:major-intermediate tags: %% Cell type:markdown id:major-intermediate tags:
## Operations between Series ## Operations between Series
%% Cell type:markdown id:suitable-focus tags: %% Cell type:markdown id:suitable-focus tags:
Operations (ie `+`, `-`, `*`, `/`) between Series will trigger an alignment of the values Operations (ie `+`, `-`, `*`, `/`) between Series will trigger an alignment of the values
based on the index values: based on the index values:
%% Cell type:code id:least-cruise tags: %% Cell type:code id:least-cruise tags:
``` python ``` python
series_label + series_label series_label + series_label
``` ```
%% Output %% Output
A 2 A 2
B 4 B 4
C 6 C 6
dtype: int64 dtype: int64
%% Cell type:markdown id:herbal-collaboration tags: %% Cell type:markdown id:herbal-collaboration tags:
We can see here that the label are aligned prior operation We can see here that the label are aligned prior operation
%% Cell type:code id:better-blame tags: %% Cell type:code id:better-blame tags:
``` python ``` python
series_label + series_label.iloc[::-1] series_label + series_label.iloc[::-1]
``` ```
%% Output %% Output
A 2 A 2
B 4 B 4
C 6 C 6
dtype: int64 dtype: int64
%% Cell type:markdown id:loved-orleans tags: %% Cell type:markdown id:loved-orleans tags:
# DataFrames # DataFrames
A pandas DataFrame is a two-dimensional data structure with axis labels. Labels do not need to be unique but must be hashable. DataFrame in pandas are like dictionary containers of Series objects. A pandas DataFrame is a two-dimensional data structure with axis labels. Labels do not need to be unique but must be hashable. DataFrame in pandas are like dictionary containers of Series objects.
## DataFrame Terminology ## DataFrame Terminology
<img src="images/pandas_dataframe.png" width="300px" /> <img src="images/pandas_dataframe.png" width="300px" />
## Create a DataFrame ## Create a DataFrame
[Dataframes](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) in pandas are rarely created from scratch. One common approach is to create a pandas DataFrame from a dictionary or a file, but you can as well create them from a list of lists or numpy ndarrays. [Dataframes](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) in pandas are rarely created from scratch. One common approach is to create a pandas DataFrame from a dictionary or a file, but you can as well create them from a list of lists or numpy ndarrays.
### From a list of lists: ### From a list of lists:
%% Cell type:code id:regulated-ready tags: %% Cell type:code id:regulated-ready tags:
``` python ``` python
df = pd.DataFrame([[1,2,3], df = pd.DataFrame([[1,2,3],
[4,5,6]], [4,5,6]],
columns=['A', 'B', 'C'], columns=['A', 'B', 'C'],
index= ['a', 'b']) index= ['a', 'b'])
df df
``` ```
%% Output %% Output
A B C A B C
a 1 2 3 a 1 2 3
b 4 5 6 b 4 5 6
%% Cell type:code id:stable-discharge tags: %% Cell type:code id:stable-discharge tags:
``` python ``` python
df.index df.index
``` ```
%% Output %% Output
Index(['a', 'b'], dtype='object') Index(['a', 'b'], dtype='object')
%% Cell type:code id:configured-coral tags: %% Cell type:code id:configured-coral tags:
``` python ``` python
df.columns df.columns
``` ```
%% Output %% Output
Index(['A', 'B', 'C'], dtype='object') Index(['A', 'B', 'C'], dtype='object')
%% Cell type:markdown id:exclusive-brave tags: %% Cell type:markdown id:exclusive-brave tags:
### From a numpy ndarray ### From a numpy ndarray
%% Cell type:code id:facial-curve tags: %% Cell type:code id:facial-curve tags:
``` python ``` python
df = pd.DataFrame(np.arange(12).reshape(4,3)) df = pd.DataFrame(np.arange(12).reshape(4,3))
df df
``` ```
%% Output %% Output
0 1 2 0 1 2
0 0 1 2 0 0 1 2
1 3 4 5 1 3 4 5
2 6 7 8 2 6 7 8
3 9 10 11 3 9 10 11
%% Cell type:markdown id:committed-planning tags: %% Cell type:markdown id:committed-planning tags:
### From a dictionnary ### From a dictionnary
%% Cell type:code id:suspected-nirvana tags: %% Cell type:code id:suspected-nirvana tags:
``` python ``` python
df = pd.DataFrame({'A': [1,2,3], df = pd.DataFrame({'A': [1,2,3],
'B': np.arange(4,7), 'B': np.arange(4,7),
}) })
df df
``` ```
%% Output %% Output
A B A B
0 1 4 0 1 4
1 2 5 1 2 5
2 3 6 2 3 6
%% Cell type:markdown id:vocational-peoples tags: %% Cell type:markdown id:vocational-peoples tags:
- From a file, many options are available, to name only a few: - From a file, many options are available, to name only a few:
- [pd.read_csv](https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html) - [pd.read_csv](https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html)
- [pd.read_excel](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_excel.html) - [pd.read_excel](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_excel.html)
- [pd.read_html](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_html.html) - [pd.read_html](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_html.html)
NB: For excel and html imports, you might need to install extra libraries. NB: For excel and html imports, you might need to install extra libraries.
%% Cell type:code id:sonic-shock tags: %% Cell type:code id:sonic-shock tags:
``` python ``` python
titanic = pd.read_csv("data/titanic.csv") titanic = pd.read_csv("../data/titanic.csv")
``` ```
%% Cell type:markdown id:about-cursor tags: %% Cell type:markdown id:about-cursor tags:
We want now to open *data/bar_data.tsv* file but the 2 first lines are comments and the separator between fields is *tab* We want now to open *data/bar_data.tsv* file but the 2 first lines are comments and the separator between fields is *tab*
See below the 5 first lines (using the `!` jupyter magic for bash subprocesses) See below the 5 first lines (using the `!` jupyter magic for bash subprocesses)
%% Cell type:code id:bridal-development tags: %% Cell type:code id:bridal-development tags:
``` python ``` python
! head -5 data/bar_data.tsv ! head -5 ../data/bar_data.tsv
``` ```
%% Output %% Output
# generated with fooo software version 12bis # generated with fooo software version 12bis
# 2021/02/31 # 2021/02/31
cond1 cond2 cond3 control cond1 cond2 cond3 control
14.644417316782045 2.9453091400880465 24.81171864537413 5.114340165446571 14.644417316782045 2.9453091400880465 24.81171864537413 5.114340165446571
12.071043262601615 4.406424332565544 21.574601309211538 2.5071180945299716 12.071043262601615 4.406424332565544 21.574601309211538 2.5071180945299716
%% Cell type:markdown id:af8a2fc6-e7bc-41c3-92a7-650fb7b42b50 tags: %% Cell type:markdown id:af8a2fc6-e7bc-41c3-92a7-650fb7b42b50 tags:
You can import this file using the `sep` and `comment` arguments: You can import this file using the `sep` and `comment` arguments:
%% Cell type:code id:listed-framework tags: %% Cell type:code id:listed-framework tags:
``` python ``` python
bar = pd.read_csv("data/bar_data.tsv", sep="\t", comment="#") bar = pd.read_csv("../data/bar_data.tsv", sep="\t", comment="#")
bar.head() bar.head()
``` ```
%% Output %% Output
cond1 cond2 cond3 control cond1 cond2 cond3 control
0 14.644417 2.945309 24.811719 5.114340 0 14.644417 2.945309 24.811719 5.114340
1 12.071043 4.406424 21.574601 2.507118 1 12.071043 4.406424 21.574601 2.507118
2 8.227469 3.185252 20.651623 4.449593 2 8.227469 3.185252 20.651623 4.449593
3 8.980799 9.233560 24.859737 4.127919 3 8.980799 9.233560 24.859737 4.127919
4 9.080359 5.629192 18.443504 4.268572 4 9.080359 5.629192 18.443504 4.268572
%% Cell type:markdown id:explicit-monitoring tags: %% Cell type:markdown id:explicit-monitoring tags:
If the data in the file are already indexed like in the file _data_for_plt.csv_ : If the data in the file are already indexed like in the file _data_for_plt.csv_ :
%% Cell type:code id:allied-artist tags: %% Cell type:code id:allied-artist tags:
``` python ``` python
! head -5 data/data_for_plt.csv ! head -5 ../data/data_for_plt.csv
``` ```
%% Output %% Output
MW AlogP PSA HBA MW AlogP PSA HBA
0 0.0 1.0 72.73111270481336 1.1416684150966834 0 0.0 1.0 72.73111270481336 1.1416684150966834
1 3.63 544.59 391.4275648686457 0.9848635571682688 1 3.63 544.59 391.4275648686457 0.9848635571682688
2 2.11 383.4 437.4589821943501 15.040385372412596 2 2.11 383.4 437.4589821943501 15.040385372412596
3 1.24 162.23 480.1112629835199 11.401906578750385 3 1.24 162.23 480.1112629835199 11.401906578750385
%% Cell type:code id:limiting-tokyo tags: %% Cell type:code id:limiting-tokyo tags:
``` python ``` python
data = pd.read_csv("data/data_for_plt.csv", sep="\t") data = pd.read_csv("../data/data_for_plt.csv", sep="\t")
data.head(3) data.head(3)
``` ```
%% Output %% Output
Unnamed: 0 MW AlogP PSA HBA Unnamed: 0 MW AlogP PSA HBA
0 0 0.00 1.00 72.731113 1.141668 0 0 0.00 1.00 72.731113 1.141668
1 1 3.63 544.59 391.427565 0.984864 1 1 3.63 544.59 391.427565 0.984864
2 2 2.11 383.40 437.458982 15.040385 2 2 2.11 383.40 437.458982 15.040385
%% Cell type:markdown id:european-tunisia tags: %% Cell type:markdown id:european-tunisia tags:
To avoid to have an extra column, you can specify which columns to use as index. To avoid to have an extra column, you can specify which columns to use as index.
This column **must** have distincts values. This column **must** have distincts values.
%% Cell type:code id:crucial-flight tags: %% Cell type:code id:crucial-flight tags:
``` python ``` python
data = pd.read_csv("data/data_for_plt.csv", sep="\t", index_col=0) data = pd.read_csv("../data/data_for_plt.csv", sep="\t", index_col=0)
data.head() data.head()
``` ```
%% Output %% Output
MW AlogP PSA HBA MW AlogP PSA HBA
0 0.00 1.00 72.731113 1.141668 0 0.00 1.00 72.731113 1.141668
1 3.63 544.59 391.427565 0.984864 1 3.63 544.59 391.427565 0.984864
2 2.11 383.40 437.458982 15.040385 2 2.11 383.40 437.458982 15.040385
3 1.24 162.23 480.111263 11.401907 3 1.24 162.23 480.111263 11.401907
4 -1.37 361.37 448.864769 5.732690 4 -1.37 361.37 448.864769 5.732690
%% Cell type:markdown id:occasional-carnival tags: %% Cell type:markdown id:occasional-carnival tags:
The first line is used as header.<br /> The first line is used as header.<br />
So you can specify the number of the row which represents the header, So you can specify the number of the row which represents the header,
or you can set this parameter to None if the table has no header. or you can set this parameter to None if the table has no header.
%% Cell type:code id:oriented-bleeding tags: %% Cell type:code id:oriented-bleeding tags:
``` python ``` python
data = pd.read_csv("data/no_header.tsv", sep="\t", index_col=0, header=None) data = pd.read_csv("../data/no_header.tsv", sep="\t", index_col=0, header=None)
data.head() data.head()
``` ```
%% Output %% Output
1 2 3 4 1 2 3 4
0 0
0 0.00 1.00 72.731113 1.141668 0 0.00 1.00 72.731113 1.141668
1 3.63 544.59 391.427565 0.984864 1 3.63 544.59 391.427565 0.984864
2 2.11 383.40 437.458982 15.040385 2 2.11 383.40 437.458982 15.040385
3 1.24 162.23 480.111263 11.401907 3 1.24 162.23 480.111263 11.401907
4 -1.37 361.37 448.864769 5.732690 4 -1.37 361.37 448.864769 5.732690
%% Cell type:markdown id:reasonable-straight tags: %% Cell type:markdown id:reasonable-straight tags:
### Going back to np.array and list ### Going back to np.array and list
%% Cell type:code id:competent-negative tags: %% Cell type:code id:competent-negative tags:
``` python ``` python
df.values df.values
``` ```
%% Output %% Output
array([[1, 4], array([[1, 4],
[2, 5], [2, 5],
[3, 6]]) [3, 6]])
%% Cell type:code id:fantastic-monday tags: %% Cell type:code id:fantastic-monday tags:
``` python ``` python
df.values.tolist() df.values.tolist()
``` ```
%% Output %% Output
[[1, 4], [2, 5], [3, 6]] [[1, 4], [2, 5], [3, 6]]
%% Cell type:markdown id:formal-example tags: %% Cell type:markdown id:formal-example tags:
## Characterizing a DataFrame ## Characterizing a DataFrame
Several DataFrame attributes and methods are provided to characterize your dataset. Here is a subset of them most commonly used. Several DataFrame attributes and methods are provided to characterize your dataset. Here is a subset of them most commonly used.
%% Cell type:code id:simple-luxury tags: %% Cell type:code id:simple-luxury tags:
``` python ``` python
titanic = pd.read_csv("data/titanic.csv") titanic = pd.read_csv("../data/titanic.csv")
``` ```
%% Cell type:markdown id:continuing-activity tags: %% Cell type:markdown id:continuing-activity tags:
`shape` to get the dimensions of the dataframe (ie number or rows, number of columns): `shape` to get the dimensions of the dataframe (ie number or rows, number of columns):
%% Cell type:code id:wound-asbestos tags: %% Cell type:code id:wound-asbestos tags:
``` python ``` python
print(f"The titanic dataset is {len(titanic)} in length.") print(f"The titanic dataset is {len(titanic)} in length.")
rows, cols = titanic.shape rows, cols = titanic.shape
print(f"The titanic dataset contains {rows} rows x {cols} columns.") print(f"The titanic dataset contains {rows} rows x {cols} columns.")
``` ```
%% Output %% Output
The titanic dataset is 891 in length. The titanic dataset is 891 in length.
The titanic dataset contains 891 rows x 12 columns. The titanic dataset contains 891 rows x 12 columns.
%% Cell type:markdown id:equal-original tags: %% Cell type:markdown id:equal-original tags:
`head` method is useful to get the first lines of your dataframe: `head` method is useful to get the first lines of your dataframe:
%% Cell type:code id:worthy-bridge tags: %% Cell type:code id:worthy-bridge tags:
``` python ``` python
titanic.head() titanic.head()
``` ```
%% Output %% Output
PassengerId Survived Pclass \ PassengerId Survived Pclass \
0 1 0 3 0 1 0 3
1 2 1 1 1 2 1 1
2 3 1 3 2 3 1 3
3 4 1 1 3 4 1 1
4 5 0 3 4 5 0 3
Name Sex Age SibSp \ Name Sex Age SibSp \
0 Braund, Mr. Owen Harris male 22.0 1 0 Braund, Mr. Owen Harris male 22.0 1
1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1
2 Heikkinen, Miss. Laina female 26.0 0 2 Heikkinen, Miss. Laina female 26.0 0
3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1
4 Allen, Mr. William Henry male 35.0 0 4 Allen, Mr. William Henry male 35.0 0
Parch Ticket Fare Cabin Embarked Parch Ticket Fare Cabin Embarked
0 0 A/5 21171 7.2500 NaN S 0 0 A/5 21171 7.2500 NaN S
1 0 PC 17599 71.2833 C85 C 1 0 PC 17599 71.2833 C85 C
2 0 STON/O2. 3101282 7.9250 NaN S 2 0 STON/O2. 3101282 7.9250 NaN S
3 0 113803 53.1000 C123 S 3 0 113803 53.1000 C123 S
4 0 373450 8.0500 NaN S 4 0 373450 8.0500 NaN S
%% Cell type:code id:absent-authorization tags: %% Cell type:code id:absent-authorization tags:
``` python ``` python
titanic.head(n=2) titanic.head(n=2)
``` ```
%% Output %% Output
PassengerId Survived Pclass \ PassengerId Survived Pclass \
0 1 0 3 0 1 0 3
1 2 1 1 1 2 1 1
Name Sex Age SibSp \ Name Sex Age SibSp \
0 Braund, Mr. Owen Harris male 22.0 1 0 Braund, Mr. Owen Harris male 22.0 1
1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1
Parch Ticket Fare Cabin Embarked Parch Ticket Fare Cabin Embarked
0 0 A/5 21171 7.2500 NaN S 0 0 A/5 21171 7.2500 NaN S
1 0 PC 17599 71.2833 C85 C 1 0 PC 17599 71.2833 C85 C
%% Cell type:markdown id:clinical-debate tags: %% Cell type:markdown id:clinical-debate tags:
`tail` to get the last lines of your dataframe: `tail` to get the last lines of your dataframe:
%% Cell type:code id:aboriginal-smith tags: %% Cell type:code id:aboriginal-smith tags:
``` python ``` python
titanic.tail(2) titanic.tail(2)
``` ```
%% Output %% Output
PassengerId Survived Pclass Name Sex Age SibSp \ PassengerId Survived Pclass Name Sex Age SibSp \
889 890 1 1 Behr, Mr. Karl Howell male 26.0 0 889 890 1 1 Behr, Mr. Karl Howell male 26.0 0
890 891 0 3 Dooley, Mr. Patrick male 32.0 0 890 891 0 3 Dooley, Mr. Patrick male 32.0 0
Parch Ticket Fare Cabin Embarked Parch Ticket Fare Cabin Embarked
889 0 111369 30.00 C148 C 889 0 111369 30.00 C148 C
890 0 370376 7.75 NaN Q 890 0 370376 7.75 NaN Q
%% Cell type:markdown id:tight-craps tags: %% Cell type:markdown id:tight-craps tags:
Use `describe` method to have basic descriptive statistics. The columns on which pandas cannot do statistics are omitted (Name, Sex, ...) Use `describe` method to have basic descriptive statistics. The columns on which pandas cannot do statistics are omitted (Name, Sex, ...)
%% Cell type:code id:sunset-ballot tags: %% Cell type:code id:sunset-ballot tags:
``` python ``` python
desc = titanic.describe() desc = titanic.describe()
desc desc
``` ```
%% Output %% Output
PassengerId Survived Pclass Age SibSp \ PassengerId Survived Pclass Age SibSp \
count 891.000000 891.000000 891.000000 714.000000 891.000000 count 891.000000 891.000000 891.000000 714.000000 891.000000
mean 446.000000 0.383838 2.308642 29.699118 0.523008 mean 446.000000 0.383838 2.308642 29.699118 0.523008
std 257.353842 0.486592 0.836071 14.526497 1.102743 std 257.353842 0.486592 0.836071 14.526497 1.102743
min 1.000000 0.000000 1.000000 0.420000 0.000000 min 1.000000 0.000000 1.000000 0.420000 0.000000
25% 223.500000 0.000000 2.000000 20.125000 0.000000 25% 223.500000 0.000000 2.000000 20.125000 0.000000
50% 446.000000 0.000000 3.000000 28.000000 0.000000 50% 446.000000 0.000000 3.000000 28.000000 0.000000
75% 668.500000 1.000000 3.000000 38.000000 1.000000 75% 668.500000 1.000000 3.000000 38.000000 1.000000
max 891.000000 1.000000 3.000000 80.000000 8.000000 max 891.000000 1.000000 3.000000 80.000000 8.000000
Parch Fare Parch Fare
count 891.000000 891.000000 count 891.000000 891.000000
mean 0.381594 32.204208 mean 0.381594 32.204208
std 0.806057 49.693429 std 0.806057 49.693429
min 0.000000 0.000000 min 0.000000 0.000000
25% 0.000000 7.910400 25% 0.000000 7.910400
50% 0.000000 14.454200 50% 0.000000 14.454200
75% 0.000000 31.000000 75% 0.000000 31.000000
max 6.000000 512.329200 max 6.000000 512.329200
%% Cell type:code id:whole-township tags: %% Cell type:code id:whole-township tags:
``` python ``` python
print(f"Titanic data have {len(titanic.columns)} cols\nand describe output have {len(desc.columns)} cols") print(f"Titanic data have {len(titanic.columns)} cols\nand describe output have {len(desc.columns)} cols")
``` ```
%% Output %% Output
Titanic data have 12 cols Titanic data have 12 cols
and describe output have 7 cols and describe output have 7 cols
%% Cell type:markdown id:certified-thunder tags: %% Cell type:markdown id:certified-thunder tags:
`median` to get the median by columns with numerical values: `median` to get the median by columns with numerical values:
%% Cell type:code id:furnished-dealing tags: %% Cell type:code id:furnished-dealing tags:
``` python ``` python
titanic.median() titanic.median()
``` ```
%% Output %% Output
/tmp/ipykernel_6604/502188208.py:1: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError. Select only valid columns before calling the reduction. ---------------------------------------------------------------------------
titanic.median() TypeError Traceback (most recent call last)
Cell In[45], line 1
PassengerId 446.0000 ----> 1 titanic.median()
Survived 0.0000 File ~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/frame.py:11706, in DataFrame.median(self, axis, skipna, numeric_only, **kwargs)
Pclass 3.0000 11698 @doc(make_doc("median", ndim=2))
Age 28.0000 11699 def median(
SibSp 0.0000 11700 self,
Parch 0.0000 (...)
Fare 14.4542 11704 **kwargs,
dtype: float64 11705 ):
> 11706 result = super().median(axis, skipna, numeric_only, **kwargs)
11707 if isinstance(result, Series):
11708 result = result.__finalize__(self, method="median")
File ~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/generic.py:12431, in NDFrame.median(self, axis, skipna, numeric_only, **kwargs)
12424 def median(
12425 self,
12426 axis: Axis | None = 0,
(...)
12429 **kwargs,
12430 ) -> Series | float:
> 12431 return self._stat_function(
12432 "median", nanops.nanmedian, axis, skipna, numeric_only, **kwargs
12433 )
File ~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/generic.py:12377, in NDFrame._stat_function(self, name, func, axis, skipna, numeric_only, **kwargs)
12373 nv.validate_func(name, (), kwargs)
12375 validate_bool_kwarg(skipna, "skipna", none_allowed=False)
> 12377 return self._reduce(
12378 func, name=name, axis=axis, skipna=skipna, numeric_only=numeric_only
12379 )
File ~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/frame.py:11562, in DataFrame._reduce(self, op, name, axis, skipna, numeric_only, filter_type, **kwds)
11558 df = df.T
11560 # After possibly _get_data and transposing, we are now in the
11561 # simple case where we can use BlockManager.reduce
> 11562 res = df._mgr.reduce(blk_func)
11563 out = df._constructor_from_mgr(res, axes=res.axes).iloc[0]
11564 if out_dtype is not None and out.dtype != "boolean":
File ~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/internals/managers.py:1500, in BlockManager.reduce(self, func)
1498 res_blocks: list[Block] = []
1499 for blk in self.blocks:
-> 1500 nbs = blk.reduce(func)
1501 res_blocks.extend(nbs)
1503 index = Index([None]) # placeholder
File ~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/internals/blocks.py:404, in Block.reduce(self, func)
398 @final
399 def reduce(self, func) -> list[Block]:
400 # We will apply the function and reshape the result into a single-row
401 # Block with the same mgr_locs; squeezing will be done at a higher level
402 assert self.ndim == 2
--> 404 result = func(self.values)
406 if self.values.ndim == 1:
407 res_values = result
File ~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/frame.py:11481, in DataFrame._reduce.<locals>.blk_func(values, axis)
11479 return np.array([result])
11480 else:
> 11481 return op(values, axis=axis, skipna=skipna, **kwds)
File ~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/nanops.py:147, in bottleneck_switch.__call__.<locals>.f(values, axis, skipna, **kwds)
145 result = alt(values, axis=axis, skipna=skipna, **kwds)
146 else:
--> 147 result = alt(values, axis=axis, skipna=skipna, **kwds)
149 return result
File ~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/nanops.py:787, in nanmedian(values, axis, skipna, mask)
785 inferred = lib.infer_dtype(values)
786 if inferred in ["string", "mixed"]:
--> 787 raise TypeError(f"Cannot convert {values} to numeric")
788 try:
789 values = values.astype("f8")
TypeError: Cannot convert [['Braund, Mr. Owen Harris'
'Cumings, Mrs. John Bradley (Florence Briggs Thayer)'
'Heikkinen, Miss. Laina' ... 'Johnston, Miss. Catherine Helen "Carrie"'
'Behr, Mr. Karl Howell' 'Dooley, Mr. Patrick']
['male' 'female' 'female' ... 'female' 'male' 'male']
['A/5 21171' 'PC 17599' 'STON/O2. 3101282' ... 'W./C. 6607' '111369'
'370376']
[nan 'C85' nan ... nan 'C148' nan]
['S' 'C' 'S' ... 'S' 'C' 'Q']] to numeric
%% Cell type:markdown id:30d40995-8649-4946-8db3-ce2f0f7ffd6e tags: %% Cell type:markdown id:30d40995-8649-4946-8db3-ce2f0f7ffd6e tags:
To prepare for future versions of pandas, better to select the columns you actually want the median to be calculated with: To prepare for future versions of pandas, better to select the columns you actually want the median to be calculated with:
%% Cell type:code id:2a6e3ac6-90fe-4d2a-94c4-0b2a0030a892 tags: %% Cell type:code id:2a6e3ac6-90fe-4d2a-94c4-0b2a0030a892 tags:
``` python ``` python
titanic.median(numeric_only=True) titanic.median(numeric_only=True)
``` ```
%% Output %% Output
PassengerId 446.0000 PassengerId 446.0000
Survived 0.0000 Survived 0.0000
Pclass 3.0000 Pclass 3.0000
Age 28.0000 Age 28.0000
SibSp 0.0000 SibSp 0.0000
Parch 0.0000 Parch 0.0000
Fare 14.4542 Fare 14.4542
dtype: float64 dtype: float64
%% Cell type:markdown id:protected-fleece tags: %% Cell type:markdown id:protected-fleece tags:
`mean` similarly for the mean: `mean` similarly for the mean:
%% Cell type:code id:further-circular tags: %% Cell type:code id:further-circular tags:
``` python ``` python
titanic.mean(numeric_only=True) titanic.mean(numeric_only=True)
``` ```
%% Output %% Output
PassengerId 446.000000 PassengerId 446.000000
Survived 0.383838 Survived 0.383838
Pclass 2.308642 Pclass 2.308642
Age 29.699118 Age 29.699118
SibSp 0.523008 SibSp 0.523008
Parch 0.381594 Parch 0.381594
Fare 32.204208 Fare 32.204208
dtype: float64 dtype: float64
%% Cell type:markdown id:every-skirt tags: %% Cell type:markdown id:every-skirt tags:
`value_counts` is useful the count the number of occurences of a value. For example: `value_counts` is useful the count the number of occurences of a value. For example:
%% Cell type:code id:comprehensive-division tags: %% Cell type:code id:comprehensive-division tags:
``` python ``` python
titanic.Sex.value_counts() titanic.Sex.value_counts()
``` ```
%% Output %% Output
Sex
male 577 male 577
female 314 female 314
Name: Sex, dtype: int64 Name: count, dtype: int64
%% Cell type:markdown id:indirect-nutrition tags: %% Cell type:markdown id:indirect-nutrition tags:
`max` and `min` to get the maximum and minimum: `max` and `min` to get the maximum and minimum:
%% Cell type:code id:universal-boutique tags: %% Cell type:code id:universal-boutique tags:
``` python ``` python
titanic.Age.max() titanic.Age.max()
``` ```
%% Output %% Output
80.0 np.float64(80.0)
%% Cell type:code id:several-principle tags: %% Cell type:code id:several-principle tags:
``` python ``` python
titanic.Age.min() titanic.Age.min()
``` ```
%% Output %% Output
0.42 np.float64(0.42)
%% Cell type:markdown id:eastern-timeline tags: %% Cell type:markdown id:eastern-timeline tags:
## DataFrame manipulation ## DataFrame manipulation
%% Cell type:markdown id:primary-printer tags: %% Cell type:markdown id:primary-printer tags:
### Renaming columns ### Renaming columns
%% Cell type:code id:received-editing tags: %% Cell type:code id:received-editing tags:
``` python ``` python
df = pd.DataFrame(np.arange(12).reshape(4,3), df = pd.DataFrame(np.arange(12).reshape(4,3),
columns=['A', 'B', 'C']) columns=['A', 'B', 'C'])
df df
``` ```
%% Output %% Output
A B C A B C
0 0 1 2 0 0 1 2
1 3 4 5 1 3 4 5
2 6 7 8 2 6 7 8
3 9 10 11 3 9 10 11
%% Cell type:code id:classified-pittsburgh tags: %% Cell type:code id:classified-pittsburgh tags:
``` python ``` python
cols = list(df.columns) cols = list(df.columns)
cols[2] = 'Z' cols[2] = 'Z'
df.columns = cols df.columns = cols
df.columns df.columns
``` ```
%% Output %% Output
Index(['A', 'B', 'Z'], dtype='object') Index(['A', 'B', 'Z'], dtype='object')
%% Cell type:code id:exceptional-roberts tags: %% Cell type:code id:exceptional-roberts tags:
``` python ``` python
df.columns = ['X', 'Y', 'Z'] df.columns = ['X', 'Y', 'Z']
df df
``` ```
%% Output %% Output
X Y Z X Y Z
0 0 1 2 0 0 1 2
1 3 4 5 1 3 4 5
2 6 7 8 2 6 7 8
3 9 10 11 3 9 10 11
%% Cell type:markdown id:06de9c56-e620-438b-a735-d4478dd2cb16 tags: %% Cell type:markdown id:06de9c56-e620-438b-a735-d4478dd2cb16 tags:
Using the `rename` method and specifying a dictionnary for the changes: Using the `rename` method and specifying a dictionnary for the changes:
%% Cell type:code id:surprised-burns tags: %% Cell type:code id:surprised-burns tags:
``` python ``` python
df.rename(columns={'X': 'A'}) df.rename(columns={'X': 'A'})
``` ```
%% Output %% Output
A Y Z A Y Z
0 0 1 2 0 0 1 2
1 3 4 5 1 3 4 5
2 6 7 8 2 6 7 8
3 9 10 11 3 9 10 11
%% Cell type:markdown id:novel-sheet tags: %% Cell type:markdown id:novel-sheet tags:
### Renaming index ### Renaming index
%% Cell type:code id:breathing-yeast tags: %% Cell type:code id:breathing-yeast tags:
``` python ``` python
df.index = ['a', 'b', 'c', 'e'] df.index = ['a', 'b', 'c', 'e']
df df
``` ```
%% Output %% Output
X Y Z X Y Z
a 0 1 2 a 0 1 2
b 3 4 5 b 3 4 5
c 6 7 8 c 6 7 8
e 9 10 11 e 9 10 11
%% Cell type:code id:central-columbus tags: %% Cell type:code id:central-columbus tags:
``` python ``` python
df.rename(index={'e':'d'}) df.rename(index={'e':'d'})
``` ```
%% Output %% Output
X Y Z X Y Z
a 0 1 2 a 0 1 2
b 3 4 5 b 3 4 5
c 6 7 8 c 6 7 8
d 9 10 11 d 9 10 11
%% Cell type:markdown id:august-store tags: %% Cell type:markdown id:august-store tags:
### Adding columns ### Adding columns
%% Cell type:code id:outer-access tags: %% Cell type:code id:outer-access tags:
``` python ``` python
df['id'] = [0, 400, 3,12] df['id'] = [0, 400, 3,12]
df df
``` ```
%% Output %% Output
X Y Z id X Y Z id
a 0 1 2 0 a 0 1 2 0
b 3 4 5 400 b 3 4 5 400
c 6 7 8 3 c 6 7 8 3
e 9 10 11 12 e 9 10 11 12
%% Cell type:markdown id:26040993-b075-423f-9454-6e58230f00df tags: %% Cell type:markdown id:26040993-b075-423f-9454-6e58230f00df tags:
You can also add columns by concatenating two dataframes with the `concat` method (axis argument is use to perform the concatenation along lines or along columns): You can also add columns by concatenating two dataframes with the `concat` method (axis argument is use to perform the concatenation along lines or along columns):
%% Cell type:code id:respective-twins tags: %% Cell type:code id:respective-twins tags:
``` python ``` python
pd.concat([df, df], axis=1) pd.concat([df, df], axis=1)
``` ```
%% Output %% Output
X Y Z id X Y Z id X Y Z id X Y Z id
a 0 1 2 0 0 1 2 0 a 0 1 2 0 0 1 2 0
b 3 4 5 400 3 4 5 400 b 3 4 5 400 3 4 5 400
c 6 7 8 3 6 7 8 3 c 6 7 8 3 6 7 8 3
e 9 10 11 12 9 10 11 12 e 9 10 11 12 9 10 11 12
%% Cell type:markdown id:boolean-example tags: %% Cell type:markdown id:boolean-example tags:
### Set column as index ### Set column as index
> https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.set_index.html > https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.set_index.html
%% Cell type:code id:blank-ceiling tags: %% Cell type:code id:blank-ceiling tags:
``` python ``` python
df.set_index("id") df.set_index("id")
``` ```
%% Output %% Output
X Y Z X Y Z
id id
0 0 1 2 0 0 1 2
400 3 4 5 400 3 4 5
3 6 7 8 3 6 7 8
12 9 10 11 12 9 10 11
%% Cell type:markdown id:9a2674fa-55f1-449c-ba50-639c8d57479a tags: %% Cell type:markdown id:9a2674fa-55f1-449c-ba50-639c8d57479a tags:
We can see here that the original dataframe is not modified with this method: We can see here that the original dataframe is not modified with this method:
%% Cell type:code id:checked-prototype tags: %% Cell type:code id:checked-prototype tags:
``` python ``` python
df df
``` ```
%% Output %% Output
X Y Z id X Y Z id
a 0 1 2 0 a 0 1 2 0
b 3 4 5 400 b 3 4 5 400
c 6 7 8 3 c 6 7 8 3
e 9 10 11 12 e 9 10 11 12
%% Cell type:markdown id:declared-transmission tags: %% Cell type:markdown id:declared-transmission tags:
The `inplace` argument is present accross different pandas methods in order to directly edit the object we are working on instead of creating a new object: The `inplace` argument is present accross different pandas methods in order to directly edit the object we are working on instead of creating a new object:
%% Cell type:code id:alpine-coast tags: %% Cell type:code id:alpine-coast tags:
``` python ``` python
df.set_index("id", inplace=True) df.set_index("id", inplace=True)
``` ```
%% Cell type:code id:gothic-freight tags: %% Cell type:code id:gothic-freight tags:
``` python ``` python
df df
``` ```
%% Output %% Output
X Y Z X Y Z
id id
0 0 1 2 0 0 1 2
400 3 4 5 400 3 4 5
3 6 7 8 3 6 7 8
12 9 10 11 12 9 10 11
%% Cell type:markdown id:sticky-defendant tags: %% Cell type:markdown id:sticky-defendant tags:
### Reset index ### Reset index
The opposite operation is to turn the index into a normal column and regenerate a basic integer index The opposite operation is to turn the index into a normal column and regenerate a basic integer index
%% Cell type:code id:signal-disabled tags: %% Cell type:code id:signal-disabled tags:
``` python ``` python
df.reset_index() df.reset_index()
``` ```
%% Output %% Output
id X Y Z id X Y Z
0 0 0 1 2 0 0 0 1 2
1 400 3 4 5 1 400 3 4 5
2 3 6 7 8 2 3 6 7 8
3 12 9 10 11 3 12 9 10 11
%% Cell type:markdown id:comprehensive-priority tags: %% Cell type:markdown id:comprehensive-priority tags:
### Add row ### Add row
> https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.append.html > https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.append.html
> https://pandas.pydata.org/docs/reference/api/pandas.concat.html > https://pandas.pydata.org/docs/reference/api/pandas.concat.html
%% Cell type:code id:western-roots tags: %% Cell type:code id:western-roots tags:
``` python ``` python
rows = pd.DataFrame([[30, 31, 32], [42, 43, 44]], columns=['X', 'Y', 'Z']) rows = pd.DataFrame([[30, 31, 32], [42, 43, 44]], columns=['X', 'Y', 'Z'])
``` ```
%% Cell type:markdown id:unnecessary-sustainability tags: %% Cell type:markdown id:unnecessary-sustainability tags:
Notice here from the documentation that we are using the default `axis=0` (ie a concatenation along rows). Notice here from the documentation that we are using the default `axis=0` (ie a concatenation along rows).
%% Cell type:code id:sophisticated-speaking tags: %% Cell type:code id:sophisticated-speaking tags:
``` python ``` python
pd.concat([df, rows]) pd.concat([df, rows])
``` ```
%% Output %% Output
X Y Z X Y Z
0 0 1 2 0 0 1 2
400 3 4 5 400 3 4 5
3 6 7 8 3 6 7 8
12 9 10 11 12 9 10 11
0 30 31 32 0 30 31 32
1 42 43 44 1 42 43 44
%% Cell type:markdown id:funny-choice tags: %% Cell type:markdown id:funny-choice tags:
You can choose also to `ignore_index`, similar to reseting and dropping the indices (but note that the index values on the other axes (i.e. the columns) are still respected in the concatenation): You can choose also to `ignore_index`, similar to reseting and dropping the indices (but note that the index values on the other axes (i.e. the columns) are still respected in the concatenation):
%% Cell type:code id:associate-lodge tags: %% Cell type:code id:associate-lodge tags:
``` python ``` python
pd.concat([df, df], ignore_index=True) pd.concat([df, df], ignore_index=True)
``` ```
%% Output %% Output
X Y Z X Y Z
0 0 1 2 0 0 1 2
1 3 4 5 1 3 4 5
2 6 7 8 2 6 7 8
3 9 10 11 3 9 10 11
4 0 1 2 4 0 1 2
5 3 4 5 5 3 4 5
6 6 7 8 6 6 7 8
7 9 10 11 7 9 10 11
%% Cell type:markdown id:employed-extension tags: %% Cell type:markdown id:employed-extension tags:
### Indexing/Slicing ### Indexing/Slicing
> https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html > https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html
As for pandas Series, you can use `loc` (with labels or booleans) and `iloc` (with integers) for indexing/slicing. As for pandas Series, you can use `loc` (with labels or booleans) and `iloc` (with integers) for indexing/slicing.
The first argument between square brackets represents rows and the second columns, i.e: The first argument between square brackets represents rows and the second columns, i.e:
**[row indices, column indices]** **[row indices, column indices]**
Both methods use the same syntax as numpy indexing/slicing. Both methods use the same syntax as numpy indexing/slicing.
%% Cell type:code id:dying-hepatitis tags: %% Cell type:code id:dying-hepatitis tags:
``` python ``` python
titanic.head() titanic.head()
``` ```
%% Output %% Output
PassengerId Survived Pclass \ PassengerId Survived Pclass \
0 1 0 3 0 1 0 3
1 2 1 1 1 2 1 1
2 3 1 3 2 3 1 3
3 4 1 1 3 4 1 1
4 5 0 3 4 5 0 3
Name Sex Age SibSp \ Name Sex Age SibSp \
0 Braund, Mr. Owen Harris male 22.0 1 0 Braund, Mr. Owen Harris male 22.0 1
1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1
2 Heikkinen, Miss. Laina female 26.0 0 2 Heikkinen, Miss. Laina female 26.0 0
3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1
4 Allen, Mr. William Henry male 35.0 0 4 Allen, Mr. William Henry male 35.0 0
Parch Ticket Fare Cabin Embarked Parch Ticket Fare Cabin Embarked
0 0 A/5 21171 7.2500 NaN S 0 0 A/5 21171 7.2500 NaN S
1 0 PC 17599 71.2833 C85 C 1 0 PC 17599 71.2833 C85 C
2 0 STON/O2. 3101282 7.9250 NaN S 2 0 STON/O2. 3101282 7.9250 NaN S
3 0 113803 53.1000 C123 S 3 0 113803 53.1000 C123 S
4 0 373450 8.0500 NaN S 4 0 373450 8.0500 NaN S
%% Cell type:code id:authentic-winter tags: %% Cell type:code id:authentic-winter tags:
``` python ``` python
titanic.loc[[1,2], ['Sex', 'Age']] titanic.loc[[1,2], ['Sex', 'Age']]
``` ```
%% Output %% Output
Sex Age Sex Age
1 female 38.0 1 female 38.0
2 female 26.0 2 female 26.0
%% Cell type:code id:partial-trading tags: %% Cell type:code id:partial-trading tags:
``` python ``` python
titanic.loc[1:4, 'Sex':'Ticket'] # Ticket column is included titanic.loc[1:4, 'Sex':'Ticket'] # Ticket column is included
``` ```
%% Output %% Output
Sex Age SibSp Parch Ticket Sex Age SibSp Parch Ticket
1 female 38.0 1 0 PC 17599 1 female 38.0 1 0 PC 17599
2 female 26.0 0 0 STON/O2. 3101282 2 female 26.0 0 0 STON/O2. 3101282
3 female 35.0 1 0 113803 3 female 35.0 1 0 113803
4 male 35.0 0 0 373450 4 male 35.0 0 0 373450
%% Cell type:code id:electrical-force tags: %% Cell type:code id:electrical-force tags:
``` python ``` python
titanic.iloc[[0,1], [4, 5]] titanic.iloc[[0,1], [4, 5]]
``` ```
%% Output %% Output
Sex Age Sex Age
0 male 22.0 0 male 22.0
1 female 38.0 1 female 38.0
%% Cell type:code id:after-giving tags: %% Cell type:code id:after-giving tags:
``` python ``` python
titanic.iloc[0:3, 4:9] # the 9th column is exclude titanic.iloc[0:3, 4:9] # the 9th column is exclude
``` ```
%% Output %% Output
Sex Age SibSp Parch Ticket Sex Age SibSp Parch Ticket
0 male 22.0 1 0 A/5 21171 0 male 22.0 1 0 A/5 21171
1 female 38.0 1 0 PC 17599 1 female 38.0 1 0 PC 17599
2 female 26.0 0 0 STON/O2. 3101282 2 female 26.0 0 0 STON/O2. 3101282
%% Cell type:markdown id:ded492b4-43d8-4835-b610-c43f33c91e47 tags: %% Cell type:markdown id:ded492b4-43d8-4835-b610-c43f33c91e47 tags:
### Selecting columns ### Selecting columns
%% Cell type:markdown id:03690fe3-a7f2-494a-8fe8-6bbb709b47a6 tags: %% Cell type:markdown id:03690fe3-a7f2-494a-8fe8-6bbb709b47a6 tags:
A single column selection returns a Series: A single column selection returns a Series:
%% Cell type:code id:homeless-debut tags: %% Cell type:code id:homeless-debut tags:
``` python ``` python
titanic.loc[:,'Sex'].head() titanic.loc[:,'Sex'].head()
``` ```
%% Output %% Output
0 male 0 male
1 female 1 female
2 female 2 female
3 female 3 female
4 male 4 male
Name: Sex, dtype: object Name: Sex, dtype: object
%% Cell type:markdown id:83f4873a-fa16-46ea-a2b1-b93e7d67ea49 tags: %% Cell type:markdown id:83f4873a-fa16-46ea-a2b1-b93e7d67ea49 tags:
This syntax can be used as well for the same output: This syntax can be used as well for the same output:
%% Cell type:code id:c0edb00d-037e-45b1-9003-d16bef62258e tags: %% Cell type:code id:c0edb00d-037e-45b1-9003-d16bef62258e tags:
``` python ``` python
titanic.Sex.head() titanic.Sex.head()
``` ```
%% Output %% Output
0 male 0 male
1 female 1 female
2 female 2 female
3 female 3 female
4 male 4 male
Name: Sex, dtype: object Name: Sex, dtype: object
%% Cell type:markdown id:29633cef-ad3f-496b-a0f7-8880fe9e7a14 tags: %% Cell type:markdown id:29633cef-ad3f-496b-a0f7-8880fe9e7a14 tags:
Multiple columns selection returns a DataFrame: Multiple columns selection returns a DataFrame:
%% Cell type:code id:operating-rehabilitation tags: %% Cell type:code id:operating-rehabilitation tags:
``` python ``` python
titanic.loc[:,['Sex', 'Age', 'Pclass', 'Survived']].head() titanic.loc[:,['Sex', 'Age', 'Pclass', 'Survived']].head()
``` ```
%% Output %% Output
Sex Age Pclass Survived Sex Age Pclass Survived
0 male 22.0 3 0 0 male 22.0 3 0
1 female 38.0 1 1 1 female 38.0 1 1
2 female 26.0 3 1 2 female 26.0 3 1
3 female 35.0 1 1 3 female 35.0 1 1
4 male 35.0 3 0 4 male 35.0 3 0
%% Cell type:markdown id:c330ddf4-cc6d-4c9b-a176-a8d7f456da5a tags: %% Cell type:markdown id:c330ddf4-cc6d-4c9b-a176-a8d7f456da5a tags:
### Selecting on a condition ### Selecting on a condition
%% Cell type:markdown id:14ba6f55-0231-4630-b6b4-8b47e7d270d3 tags: %% Cell type:markdown id:14ba6f55-0231-4630-b6b4-8b47e7d270d3 tags:
As in Series, `loc` accepts boolean arguments for selection: As in Series, `loc` accepts boolean arguments for selection:
%% Cell type:code id:realistic-liberal tags: %% Cell type:code id:realistic-liberal tags:
``` python ``` python
titanic.loc[titanic['Age'] > 60].head() titanic.loc[titanic['Age'] > 60].head()
``` ```
%% Output %% Output
PassengerId Survived Pclass Name Sex \ PassengerId Survived Pclass Name Sex \
33 34 0 2 Wheadon, Mr. Edward H male 33 34 0 2 Wheadon, Mr. Edward H male
54 55 0 1 Ostby, Mr. Engelhart Cornelius male 54 55 0 1 Ostby, Mr. Engelhart Cornelius male
96 97 0 1 Goldschmidt, Mr. George B male 96 97 0 1 Goldschmidt, Mr. George B male
116 117 0 3 Connors, Mr. Patrick male 116 117 0 3 Connors, Mr. Patrick male
170 171 0 1 Van der hoef, Mr. Wyckoff male 170 171 0 1 Van der hoef, Mr. Wyckoff male
Age SibSp Parch Ticket Fare Cabin Embarked Age SibSp Parch Ticket Fare Cabin Embarked
33 66.0 0 0 C.A. 24579 10.5000 NaN S 33 66.0 0 0 C.A. 24579 10.5000 NaN S
54 65.0 0 1 113509 61.9792 B30 C 54 65.0 0 1 113509 61.9792 B30 C
96 71.0 0 0 PC 17754 34.6542 A5 C 96 71.0 0 0 PC 17754 34.6542 A5 C
116 70.5 0 0 370369 7.7500 NaN Q 116 70.5 0 0 370369 7.7500 NaN Q
170 61.0 0 0 111240 33.5000 B19 S 170 61.0 0 0 111240 33.5000 B19 S
%% Cell type:markdown id:47113895-ff25-4644-8ae1-9635aee6e404 tags: %% Cell type:markdown id:47113895-ff25-4644-8ae1-9635aee6e404 tags:
We will see also the `query` method select on conditions. We will see also the `query` method select on conditions.
%% Cell type:markdown id:0a31f8f3-6ecd-4afe-ba29-5606322e1504 tags: %% Cell type:markdown id:0a31f8f3-6ecd-4afe-ba29-5606322e1504 tags:
When working on columns containing strings, useful methods like `str.contains` are available for subsetting: When working on columns containing strings, useful methods like `str.contains` are available for subsetting:
%% Cell type:code id:charming-debate tags: %% Cell type:code id:charming-debate tags:
``` python ``` python
mask = titanic.loc[:,'Name'].str.contains('^Bec') mask = titanic.loc[:,'Name'].str.contains('^Bec')
titanic.loc[mask, ['Name', 'Age']] titanic.loc[mask, ['Name', 'Age']]
``` ```
%% Output %% Output
Name Age Name Age
183 Becker, Master. Richard F 1.0 183 Becker, Master. Richard F 1.0
248 Beckwith, Mr. Richard Leonard 37.0 248 Beckwith, Mr. Richard Leonard 37.0
618 Becker, Miss. Marion Louise 4.0 618 Becker, Miss. Marion Louise 4.0
871 Beckwith, Mrs. Richard Leonard (Sallie Monypeny) 47.0 871 Beckwith, Mrs. Richard Leonard (Sallie Monypeny) 47.0
%% Cell type:markdown id:changed-california tags: %% Cell type:markdown id:changed-california tags:
### Selecting random samples ### Selecting random samples
> https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html > https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html
%% Cell type:code id:extensive-sense tags: %% Cell type:code id:extensive-sense tags:
``` python ``` python
titanic.sample(n=6) titanic.sample(n=6)
``` ```
%% Output %% Output
PassengerId Survived Pclass Name \ PassengerId Survived Pclass Name Sex \
320 321 0 3 Dennis, Mr. Samuel 138 139 0 3 Osen, Mr. Olaf Elon male
59 60 0 3 Goodwin, Master. William Frederick 211 212 1 2 Cameron, Miss. Clear Annie female
176 177 0 3 Lefebre, Master. Henry Forbes 547 548 1 2 Padro y Manent, Mr. Julian male
117 118 0 2 Turpin, Mr. William John Robert 482 483 0 3 Rouse, Mr. Richard Henry male
714 715 0 2 Greenberg, Mr. Samuel 243 244 0 3 Maenpaa, Mr. Matti Alexanteri male
61 62 1 1 Icard, Miss. Amelie 861 862 0 2 Giles, Mr. Frederick Edward male
Sex Age SibSp Parch Ticket Fare Cabin Embarked Age SibSp Parch Ticket Fare Cabin Embarked
320 male 22.0 0 0 A/5 21172 7.2500 NaN S 138 16.0 0 0 7534 9.2167 NaN S
59 male 11.0 5 2 CA 2144 46.9000 NaN S 211 35.0 0 0 F.C.C. 13528 21.0000 NaN S
176 male NaN 3 1 4133 25.4667 NaN S 547 NaN 0 0 SC/PARIS 2146 13.8625 NaN C
117 male 29.0 1 0 11668 21.0000 NaN S 482 50.0 0 0 A/5 3594 8.0500 NaN S
714 male 52.0 0 0 250647 13.0000 NaN S 243 22.0 0 0 STON/O 2. 3101275 7.1250 NaN S
61 female 38.0 0 0 113572 80.0000 B28 NaN 861 21.0 1 0 28134 11.5000 NaN S
%% Cell type:markdown id:french-miami tags: %% Cell type:markdown id:french-miami tags:
### isin ### isin
> https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.isin.html > https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.isin.html
%% Cell type:code id:enormous-dublin tags: %% Cell type:code id:enormous-dublin tags:
``` python ``` python
titanic[titanic['PassengerId'].isin([457, 352, 174])] titanic[titanic['PassengerId'].isin([457, 352, 174])]
``` ```
%% Output %% Output
PassengerId Survived Pclass Name \ PassengerId Survived Pclass Name \
173 174 0 3 Sivola, Mr. Antti Wilhelm 173 174 0 3 Sivola, Mr. Antti Wilhelm
351 352 0 1 Williams-Lambert, Mr. Fletcher Fellows 351 352 0 1 Williams-Lambert, Mr. Fletcher Fellows
456 457 0 1 Millet, Mr. Francis Davis 456 457 0 1 Millet, Mr. Francis Davis
Sex Age SibSp Parch Ticket Fare Cabin Embarked Sex Age SibSp Parch Ticket Fare Cabin Embarked
173 male 21.0 0 0 STON/O 2. 3101280 7.925 NaN S 173 male 21.0 0 0 STON/O 2. 3101280 7.925 NaN S
351 male NaN 0 0 113510 35.000 C128 S 351 male NaN 0 0 113510 35.000 C128 S
456 male 65.0 0 0 13509 26.550 E38 S 456 male 65.0 0 0 13509 26.550 E38 S
%% Cell type:markdown id:european-drinking tags: %% Cell type:markdown id:european-drinking tags:
### where ### where
Where cond is **True**, **keep the original** value.<br /> Where cond is **True**, **keep the original** value.<br />
Where **False**, **replace** with corresponding value from other. Where **False**, **replace** with corresponding value from other.
> https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.where.html > https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.where.html
%% Cell type:code id:piano-chance tags: %% Cell type:code id:piano-chance tags:
``` python ``` python
df = pd.DataFrame(np.arange(-4, 6).reshape(-1, 2), columns=['A', 'B']) df = pd.DataFrame(np.arange(-4, 6).reshape(-1, 2), columns=['A', 'B'])
df df
``` ```
%% Output %% Output
A B A B
0 -4 -3 0 -4 -3
1 -2 -1 1 -2 -1
2 0 1 2 0 1
3 2 3 3 2 3
4 4 5 4 4 5
%% Cell type:code id:minute-printer tags: %% Cell type:code id:minute-printer tags:
``` python ``` python
df.where(df < 0 , 0) df.where(df < 0 , 0)
``` ```
%% Output %% Output
A B A B
0 -4 -3 0 -4 -3
1 -2 -1 1 -2 -1
2 0 0 2 0 0
3 0 0 3 0 0
4 0 0 4 0 0
%% Cell type:code id:polar-offering tags: %% Cell type:code id:polar-offering tags:
``` python ``` python
df.where(df > 0 , -df) df.where(df > 0 , -df)
``` ```
%% Output %% Output
A B A B
0 4 3 0 4 3
1 2 1 1 2 1
2 0 1 2 0 1
3 2 3 3 2 3
4 4 5 4 4 5
%% Cell type:markdown id:intelligent-trance tags: %% Cell type:markdown id:intelligent-trance tags:
### mask ### mask
Replace values where the condition is True (the opposite of `where`) Replace values where the condition is True (the opposite of `where`)
> https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.where.html > https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.where.html
%% Cell type:code id:designing-capacity tags: %% Cell type:code id:designing-capacity tags:
``` python ``` python
df.mask(df < 0, 0) df.mask(df < 0, 0)
``` ```
%% Output %% Output
A B A B
0 0 0 0 0 0
1 0 0 1 0 0
2 0 1 2 0 1
3 2 3 3 2 3
4 4 5 4 4 5
%% Cell type:code id:breeding-radio tags: %% Cell type:code id:breeding-radio tags:
``` python ``` python
df.mask(df < 0, -df) df.mask(df < 0, -df)
``` ```
%% Output %% Output
A B A B
0 4 3 0 4 3
1 2 1 1 2 1
2 0 1 2 0 1
3 2 3 3 2 3
4 4 5 4 4 5
%% Cell type:markdown id:fourth-tourism tags: %% Cell type:markdown id:fourth-tourism tags:
### query ### query
Query the columns of a DataFrame with a boolean expression. Query the columns of a DataFrame with a boolean expression.
> https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.query.html > https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.query.html
%% Cell type:code id:systematic-hawaii tags: %% Cell type:code id:systematic-hawaii tags:
``` python ``` python
titanic.query("Survived == 1").head() titanic.query("Survived == 1").head()
``` ```
%% Output %% Output
PassengerId Survived Pclass \ PassengerId Survived Pclass \
1 2 1 1 1 2 1 1
2 3 1 3 2 3 1 3
3 4 1 1 3 4 1 1
8 9 1 3 8 9 1 3
9 10 1 2 9 10 1 2
Name Sex Age SibSp \ Name Sex Age SibSp \
1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1
2 Heikkinen, Miss. Laina female 26.0 0 2 Heikkinen, Miss. Laina female 26.0 0
3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1
8 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) female 27.0 0 8 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) female 27.0 0
9 Nasser, Mrs. Nicholas (Adele Achem) female 14.0 1 9 Nasser, Mrs. Nicholas (Adele Achem) female 14.0 1
Parch Ticket Fare Cabin Embarked Parch Ticket Fare Cabin Embarked
1 0 PC 17599 71.2833 C85 C 1 0 PC 17599 71.2833 C85 C
2 0 STON/O2. 3101282 7.9250 NaN S 2 0 STON/O2. 3101282 7.9250 NaN S
3 0 113803 53.1000 C123 S 3 0 113803 53.1000 C123 S
8 2 347742 11.1333 NaN S 8 2 347742 11.1333 NaN S
9 0 237736 30.0708 NaN C 9 0 237736 30.0708 NaN C
%% Cell type:markdown id:indirect-oakland tags: %% Cell type:markdown id:indirect-oakland tags:
Composing with "and" (`&`) "or" (`|`) operators: Composing with "and" (`&`) "or" (`|`) operators:
%% Cell type:code id:foster-customs tags: %% Cell type:code id:foster-customs tags:
``` python ``` python
titanic.query("Survived == 1 & Sex == 'female'").head() titanic.query("Survived == 1 & Sex == 'female'").head()
``` ```
%% Output %% Output
PassengerId Survived Pclass \ PassengerId Survived Pclass \
1 2 1 1 1 2 1 1
2 3 1 3 2 3 1 3
3 4 1 1 3 4 1 1
8 9 1 3 8 9 1 3
9 10 1 2 9 10 1 2
Name Sex Age SibSp \ Name Sex Age SibSp \
1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1
2 Heikkinen, Miss. Laina female 26.0 0 2 Heikkinen, Miss. Laina female 26.0 0
3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1
8 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) female 27.0 0 8 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) female 27.0 0
9 Nasser, Mrs. Nicholas (Adele Achem) female 14.0 1 9 Nasser, Mrs. Nicholas (Adele Achem) female 14.0 1
Parch Ticket Fare Cabin Embarked Parch Ticket Fare Cabin Embarked
1 0 PC 17599 71.2833 C85 C 1 0 PC 17599 71.2833 C85 C
2 0 STON/O2. 3101282 7.9250 NaN S 2 0 STON/O2. 3101282 7.9250 NaN S
3 0 113803 53.1000 C123 S 3 0 113803 53.1000 C123 S
8 2 347742 11.1333 NaN S 8 2 347742 11.1333 NaN S
9 0 237736 30.0708 NaN C 9 0 237736 30.0708 NaN C
%% Cell type:markdown id:responsible-warren tags: %% Cell type:markdown id:responsible-warren tags:
You can refer to variables in the environment by prefixing them with an ‘@’ character You can refer to variables in the environment by prefixing them with an ‘@’ character
%% Cell type:code id:eligible-breath tags: %% Cell type:code id:eligible-breath tags:
``` python ``` python
vips = titanic.Name.sample(5) vips = titanic.Name.sample(5)
``` ```
%% Cell type:code id:alpine-residence tags: %% Cell type:code id:alpine-residence tags:
``` python ``` python
vips vips
``` ```
%% Output %% Output
24 Palsson, Miss. Torborg Danira 359 Mockler, Miss. Helen Mary "Ellie"
200 Vande Walle, Mr. Nestor Cyriel 64 Stewart, Mr. Albert A
630 Barkworth, Mr. Algernon Henry Wilson 864 Gill, Mr. John William
80 Waelens, Mr. Achille 389 Lehmann, Miss. Bertha
410 Sdycoff, Mr. Todor 181 Pernot, Mr. Rene
Name: Name, dtype: object Name: Name, dtype: object
%% Cell type:code id:therapeutic-sudan tags: %% Cell type:code id:therapeutic-sudan tags:
``` python ``` python
titanic.query("Name in @vips") titanic.query("Name in @vips")
``` ```
%% Output %% Output
PassengerId Survived Pclass Name \ PassengerId Survived Pclass Name Sex \
24 25 0 3 Palsson, Miss. Torborg Danira 64 65 0 1 Stewart, Mr. Albert A male
80 81 0 3 Waelens, Mr. Achille 181 182 0 2 Pernot, Mr. Rene male
200 201 0 3 Vande Walle, Mr. Nestor Cyriel 359 360 1 3 Mockler, Miss. Helen Mary "Ellie" female
410 411 0 3 Sdycoff, Mr. Todor 389 390 1 2 Lehmann, Miss. Bertha female
630 631 1 1 Barkworth, Mr. Algernon Henry Wilson 864 865 0 2 Gill, Mr. John William male
Sex Age SibSp Parch Ticket Fare Cabin Embarked Age SibSp Parch Ticket Fare Cabin Embarked
24 female 8.0 3 1 349909 21.0750 NaN S 64 NaN 0 0 PC 17605 27.7208 NaN C
80 male 22.0 0 0 345767 9.0000 NaN S 181 NaN 0 0 SC/PARIS 2131 15.0500 NaN C
200 male 28.0 0 0 345770 9.5000 NaN S 359 NaN 0 0 330980 7.8792 NaN Q
410 male NaN 0 0 349222 7.8958 NaN S 389 17.0 0 0 SC 1748 12.0000 NaN C
630 male 80.0 0 0 27042 30.0000 A23 S 864 24.0 0 0 233866 13.0000 NaN S
%% Cell type:markdown id:egyptian-orlando tags: %% Cell type:markdown id:egyptian-orlando tags:
### drop_duplicates ### drop_duplicates
Return DataFrame with duplicated rows removed. Return DataFrame with duplicated rows removed.
> https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.drop_duplicates.html > https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.drop_duplicates.html
%% Cell type:code id:extended-usage tags: %% Cell type:code id:extended-usage tags:
``` python ``` python
df = pd.DataFrame({ df = pd.DataFrame({
'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'], 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],
'style': ['cup', 'cup', 'cup', 'pack', 'pack'], 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],
'rating': [4, 4, 3.5, 15, 5] 'rating': [4, 4, 3.5, 15, 5]
}) })
df df
``` ```
%% Output %% Output
brand style rating brand style rating
0 Yum Yum cup 4.0 0 Yum Yum cup 4.0
1 Yum Yum cup 4.0 1 Yum Yum cup 4.0
2 Indomie cup 3.5 2 Indomie cup 3.5
3 Indomie pack 15.0 3 Indomie pack 15.0
4 Indomie pack 5.0 4 Indomie pack 5.0
%% Cell type:markdown id:exotic-charter tags: %% Cell type:markdown id:exotic-charter tags:
By default, it removes duplicate rows based on all columns: By default, it removes duplicate rows based on all columns:
%% Cell type:code id:administrative-partition tags: %% Cell type:code id:administrative-partition tags:
``` python ``` python
df.drop_duplicates() df.drop_duplicates()
``` ```
%% Output %% Output
brand style rating brand style rating
0 Yum Yum cup 4.0 0 Yum Yum cup 4.0
2 Indomie cup 3.5 2 Indomie cup 3.5
3 Indomie pack 15.0 3 Indomie pack 15.0
4 Indomie pack 5.0 4 Indomie pack 5.0
%% Cell type:markdown id:young-thomas tags: %% Cell type:markdown id:young-thomas tags:
To remove duplicates on specific column(s), use subset: To remove duplicates on specific column(s), use subset:
%% Cell type:code id:english-parallel tags: %% Cell type:code id:english-parallel tags:
``` python ``` python
df.drop_duplicates(subset=['brand']) df.drop_duplicates(subset=['brand'])
``` ```
%% Output %% Output
brand style rating brand style rating
0 Yum Yum cup 4.0 0 Yum Yum cup 4.0
2 Indomie cup 3.5 2 Indomie cup 3.5
%% Cell type:markdown id:amber-wesley tags: %% Cell type:markdown id:amber-wesley tags:
To remove duplicates and keep last occurrences, use keep: To remove duplicates and keep last occurrences, use keep:
%% Cell type:code id:corresponding-owner tags: %% Cell type:code id:corresponding-owner tags:
``` python ``` python
df.drop_duplicates(subset=['brand', 'style'], keep='last') df.drop_duplicates(subset=['brand', 'style'], keep='last')
``` ```
%% Output %% Output
brand style rating brand style rating
1 Yum Yum cup 4.0 1 Yum Yum cup 4.0
2 Indomie cup 3.5 2 Indomie cup 3.5
4 Indomie pack 5.0 4 Indomie pack 5.0
%% Cell type:markdown id:precious-surface tags: %% Cell type:markdown id:precious-surface tags:
## Group data ## Group data
%% Cell type:code id:serial-omaha tags: %% Cell type:code id:serial-omaha tags:
``` python ``` python
for p_class, df in titanic.groupby('Pclass'): for p_class, df in titanic.groupby('Pclass'):
print(f"##################### {p_class} #########################") print(f"##################### {p_class} #########################")
print(df.loc[:,['PassengerId', 'Survived', 'Pclass', 'Sex', 'Age']]) print(df.loc[:,['PassengerId', 'Survived', 'Pclass', 'Sex', 'Age']])
``` ```
%% Output %% Output
##################### 1 ######################### ##################### 1 #########################
PassengerId Survived Pclass Sex Age PassengerId Survived Pclass Sex Age
1 2 1 1 female 38.0 1 2 1 1 female 38.0
3 4 1 1 female 35.0 3 4 1 1 female 35.0
6 7 0 1 male 54.0 6 7 0 1 male 54.0
11 12 1 1 female 58.0 11 12 1 1 female 58.0
23 24 1 1 male 28.0 23 24 1 1 male 28.0
.. ... ... ... ... ... .. ... ... ... ... ...
871 872 1 1 female 47.0 871 872 1 1 female 47.0
872 873 0 1 male 33.0 872 873 0 1 male 33.0
879 880 1 1 female 56.0 879 880 1 1 female 56.0
887 888 1 1 female 19.0 887 888 1 1 female 19.0
889 890 1 1 male 26.0 889 890 1 1 male 26.0
[216 rows x 5 columns] [216 rows x 5 columns]
##################### 2 ######################### ##################### 2 #########################
PassengerId Survived Pclass Sex Age PassengerId Survived Pclass Sex Age
9 10 1 2 female 14.0 9 10 1 2 female 14.0
15 16 1 2 female 55.0 15 16 1 2 female 55.0
17 18 1 2 male NaN 17 18 1 2 male NaN
20 21 0 2 male 35.0 20 21 0 2 male 35.0
21 22 1 2 male 34.0 21 22 1 2 male 34.0
.. ... ... ... ... ... .. ... ... ... ... ...
866 867 1 2 female 27.0 866 867 1 2 female 27.0
874 875 1 2 female 28.0 874 875 1 2 female 28.0
880 881 1 2 female 25.0 880 881 1 2 female 25.0
883 884 0 2 male 28.0 883 884 0 2 male 28.0
886 887 0 2 male 27.0 886 887 0 2 male 27.0
[184 rows x 5 columns] [184 rows x 5 columns]
##################### 3 ######################### ##################### 3 #########################
PassengerId Survived Pclass Sex Age PassengerId Survived Pclass Sex Age
0 1 0 3 male 22.0 0 1 0 3 male 22.0
2 3 1 3 female 26.0 2 3 1 3 female 26.0
4 5 0 3 male 35.0 4 5 0 3 male 35.0
5 6 0 3 male NaN 5 6 0 3 male NaN
7 8 0 3 male 2.0 7 8 0 3 male 2.0
.. ... ... ... ... ... .. ... ... ... ... ...
882 883 0 3 female 22.0 882 883 0 3 female 22.0
884 885 0 3 male 25.0 884 885 0 3 male 25.0
885 886 0 3 female 39.0 885 886 0 3 female 39.0
888 889 0 3 female NaN 888 889 0 3 female NaN
890 891 0 3 male 32.0 890 891 0 3 male 32.0
[491 rows x 5 columns] [491 rows x 5 columns]
%% Cell type:code id:exclusive-madison tags: %% Cell type:code id:exclusive-madison tags:
``` python ``` python
for p_class, df in titanic.groupby('Pclass'): for p_class, df in titanic.groupby('Pclass'):
print(f"##################### {p_class} #########################") print(f"##################### {p_class} #########################")
for sex, df2 in df.groupby('Sex'): for sex, df2 in df.groupby('Sex'):
print(f"================== {sex} =================") print(f"================== {sex} =================")
print(df2.loc[:,['Survived', 'Age']].describe()) print(df2.loc[:,['Survived', 'Age']].describe())
``` ```
%% Output %% Output
##################### 1 ######################### ##################### 1 #########################
================== female ================= ================== female =================
Survived Age Survived Age
count 94.000000 85.000000 count 94.000000 85.000000
mean 0.968085 34.611765 mean 0.968085 34.611765
std 0.176716 13.612052 std 0.176716 13.612052
min 0.000000 2.000000 min 0.000000 2.000000
25% 1.000000 23.000000 25% 1.000000 23.000000
50% 1.000000 35.000000 50% 1.000000 35.000000
75% 1.000000 44.000000 75% 1.000000 44.000000
max 1.000000 63.000000 max 1.000000 63.000000
================== male ================= ================== male =================
Survived Age Survived Age
count 122.000000 101.000000 count 122.000000 101.000000
mean 0.368852 41.281386 mean 0.368852 41.281386
std 0.484484 15.139570 std 0.484484 15.139570
min 0.000000 0.920000 min 0.000000 0.920000
25% 0.000000 30.000000 25% 0.000000 30.000000
50% 0.000000 40.000000 50% 0.000000 40.000000
75% 1.000000 51.000000 75% 1.000000 51.000000
max 1.000000 80.000000 max 1.000000 80.000000
##################### 2 ######################### ##################### 2 #########################
================== female ================= ================== female =================
Survived Age Survived Age
count 76.000000 74.000000 count 76.000000 74.000000
mean 0.921053 28.722973 mean 0.921053 28.722973
std 0.271448 12.872702 std 0.271448 12.872702
min 0.000000 2.000000 min 0.000000 2.000000
25% 1.000000 22.250000 25% 1.000000 22.250000
50% 1.000000 28.000000 50% 1.000000 28.000000
75% 1.000000 36.000000 75% 1.000000 36.000000
max 1.000000 57.000000 max 1.000000 57.000000
================== male ================= ================== male =================
Survived Age Survived Age
count 108.000000 99.000000 count 108.000000 99.000000
mean 0.157407 30.740707 mean 0.157407 30.740707
std 0.365882 14.793894 std 0.365882 14.793894
min 0.000000 0.670000 min 0.000000 0.670000
25% 0.000000 23.000000 25% 0.000000 23.000000
50% 0.000000 30.000000 50% 0.000000 30.000000
75% 0.000000 36.750000 75% 0.000000 36.750000
max 1.000000 70.000000 max 1.000000 70.000000
##################### 3 ######################### ##################### 3 #########################
================== female ================= ================== female =================
Survived Age Survived Age
count 144.000000 102.000000 count 144.000000 102.000000
mean 0.500000 21.750000 mean 0.500000 21.750000
std 0.501745 12.729964 std 0.501745 12.729964
min 0.000000 0.750000 min 0.000000 0.750000
25% 0.000000 14.125000 25% 0.000000 14.125000
50% 0.500000 21.500000 50% 0.500000 21.500000
75% 1.000000 29.750000 75% 1.000000 29.750000
max 1.000000 63.000000 max 1.000000 63.000000
================== male ================= ================== male =================
Survived Age Survived Age
count 347.000000 253.000000 count 347.000000 253.000000
mean 0.135447 26.507589 mean 0.135447 26.507589
std 0.342694 12.159514 std 0.342694 12.159514
min 0.000000 0.420000 min 0.000000 0.420000
25% 0.000000 20.000000 25% 0.000000 20.000000
50% 0.000000 25.000000 50% 0.000000 25.000000
75% 0.000000 33.000000 75% 0.000000 33.000000
max 1.000000 74.000000 max 1.000000 74.000000
%% Cell type:markdown id:acknowledged-vegetable tags: %% Cell type:markdown id:acknowledged-vegetable tags:
## Table Concatenation/Merging ## Table Concatenation/Merging
> https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html > https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html
> https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.merge.html > https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.merge.html
%% Cell type:code id:institutional-promotion tags: %% Cell type:code id:institutional-promotion tags:
``` python ``` python
table_1 = pd.DataFrame({'gene_ID':[1,12,3], table_1 = pd.DataFrame({'gene_ID':[1,12,3],
'species': ['HUMAN', 'RAT', 'HORSE']}) 'species': ['HUMAN', 'RAT', 'HORSE']})
table_2 = pd.DataFrame({'gene_ID':[12,3,1], table_2 = pd.DataFrame({'gene_ID':[12,3,1],
'effect': [12, 33, 45]}) 'effect': [12, 33, 45]})
``` ```
%% Cell type:code id:upset-joyce tags: %% Cell type:code id:upset-joyce tags:
``` python ``` python
table_1 table_1
``` ```
%% Output %% Output
gene_ID species gene_ID species
0 1 HUMAN 0 1 HUMAN
1 12 RAT 1 12 RAT
2 3 HORSE 2 3 HORSE
%% Cell type:code id:hidden-attitude tags: %% Cell type:code id:hidden-attitude tags:
``` python ``` python
table_2 table_2
``` ```
%% Output %% Output
gene_ID effect gene_ID effect
0 12 12 0 12 12
1 3 33 1 3 33
2 1 45 2 1 45
%% Cell type:markdown id:bf5878f4-ea10-4f8d-90da-ef5fd25154ea tags: %% Cell type:markdown id:bf5878f4-ea10-4f8d-90da-ef5fd25154ea tags:
You can merge table specifying the colonne use as keys for the merge: You can merge table specifying the colonne use as keys for the merge:
%% Cell type:code id:separated-extreme tags: %% Cell type:code id:separated-extreme tags:
``` python ``` python
pd.merge(table_1, table_2, on='gene_ID') pd.merge(table_1, table_2, on='gene_ID')
``` ```
%% Output %% Output
gene_ID species effect gene_ID species effect
0 1 HUMAN 45 0 1 HUMAN 45
1 12 RAT 12 1 12 RAT 12
2 3 HORSE 33 2 3 HORSE 33
%% Cell type:code id:impressed-copper tags: %% Cell type:code id:impressed-copper tags:
``` python ``` python
table_3 = pd.DataFrame({'ref':[12,3,1], table_3 = pd.DataFrame({'ref':[12,3,1],
'effect': [12, 33, 45]}) 'effect': [12, 33, 45]})
table_3 table_3
``` ```
%% Output %% Output
ref effect ref effect
0 12 12 0 12 12
1 3 33 1 3 33
2 1 45 2 1 45
%% Cell type:markdown id:7b77bd7e-2dc7-48ba-9817-d6eb7bb01df4 tags: %% Cell type:markdown id:7b77bd7e-2dc7-48ba-9817-d6eb7bb01df4 tags:
If tables to merge got different name of columns for the keys to use, you can use the `left_on`, `right_on` arguments: If tables to merge got different name of columns for the keys to use, you can use the `left_on`, `right_on` arguments:
%% Cell type:code id:identified-posting tags: %% Cell type:code id:identified-posting tags:
``` python ``` python
pd.merge(table_1, table_3, left_on='gene_ID', right_on='ref') pd.merge(table_1, table_3, left_on='gene_ID', right_on='ref')
``` ```
%% Output %% Output
gene_ID species ref effect gene_ID species ref effect
0 1 HUMAN 1 45 0 1 HUMAN 1 45
1 12 RAT 12 12 1 12 RAT 12 12
2 3 HORSE 3 33 2 3 HORSE 3 33
%% Cell type:markdown id:homeless-arlington tags: %% Cell type:markdown id:homeless-arlington tags:
### Effect of the *how* parameter ### Effect of the *how* parameter
%% Cell type:code id:logical-alfred tags: %% Cell type:code id:logical-alfred tags:
``` python ``` python
table_4 = pd.DataFrame({'gene_ID':[1,12,3, 42], table_4 = pd.DataFrame({'gene_ID':[1,12,3, 42],
'species': ['HUMAN', 'RAT', 'HORSE', 'MONKEY']}) 'species': ['HUMAN', 'RAT', 'HORSE', 'MONKEY']})
table_4 table_4
``` ```
%% Output %% Output
gene_ID species gene_ID species
0 1 HUMAN 0 1 HUMAN
1 12 RAT 1 12 RAT
2 3 HORSE 2 3 HORSE
3 42 MONKEY 3 42 MONKEY
%% Cell type:code id:progressive-blogger tags: %% Cell type:code id:progressive-blogger tags:
``` python ``` python
table_5 = pd.DataFrame({'ref':[12,3,1, 35], table_5 = pd.DataFrame({'ref':[12,3,1, 35],
'effect': [12, 33, 45, 100]}) 'effect': [12, 33, 45, 100]})
table_5 table_5
``` ```
%% Output %% Output
ref effect ref effect
0 12 12 0 12 12
1 3 33 1 3 33
2 1 45 2 1 45
3 35 100 3 35 100
%% Cell type:markdown id:bd953fa8-3734-4bf4-a358-a97caa65c6ee tags: %% Cell type:markdown id:bd953fa8-3734-4bf4-a358-a97caa65c6ee tags:
Here are the different ways of merging tables using the `how` argument. In case no values are present, NaN will be added. Here are the different ways of merging tables using the `how` argument. In case no values are present, NaN will be added.
All table_4 (the *left* table) rows will be kept: All table_4 (the *left* table) rows will be kept:
%% Cell type:code id:stock-attachment tags: %% Cell type:code id:stock-attachment tags:
``` python ``` python
pd.merge(table_4, table_5, left_on='gene_ID', right_on='ref', how='left') pd.merge(table_4, table_5, left_on='gene_ID', right_on='ref', how='left')
``` ```
%% Output %% Output
gene_ID species ref effect gene_ID species ref effect
0 1 HUMAN 1.0 45.0 0 1 HUMAN 1.0 45.0
1 12 RAT 12.0 12.0 1 12 RAT 12.0 12.0
2 3 HORSE 3.0 33.0 2 3 HORSE 3.0 33.0
3 42 MONKEY NaN NaN 3 42 MONKEY NaN NaN
%% Cell type:markdown id:bdb22596-034c-4eca-9f39-851accb99d83 tags: %% Cell type:markdown id:bdb22596-034c-4eca-9f39-851accb99d83 tags:
All table_5 (the *right* table) rows will be kept: All table_5 (the *right* table) rows will be kept:
%% Cell type:code id:equivalent-conservative tags: %% Cell type:code id:equivalent-conservative tags:
``` python ``` python
pd.merge(table_4, table_5, left_on='gene_ID', right_on='ref', how='right') pd.merge(table_4, table_5, left_on='gene_ID', right_on='ref', how='right')
``` ```
%% Output %% Output
gene_ID species ref effect gene_ID species ref effect
0 12.0 RAT 12 12 0 12.0 RAT 12 12
1 3.0 HORSE 3 33 1 3.0 HORSE 3 33
2 1.0 HUMAN 1 45 2 1.0 HUMAN 1 45
3 NaN NaN 35 100 3 NaN NaN 35 100
%% Cell type:markdown id:77936c7b-69ed-4e95-b523-87406c44c298 tags: %% Cell type:markdown id:77936c7b-69ed-4e95-b523-87406c44c298 tags:
Only common rows will be kept: Only common rows will be kept:
%% Cell type:code id:seasonal-publisher tags: %% Cell type:code id:seasonal-publisher tags:
``` python ``` python
pd.merge(table_4, table_5, left_on='gene_ID', right_on='ref', how='inner') pd.merge(table_4, table_5, left_on='gene_ID', right_on='ref', how='inner')
``` ```
%% Output %% Output
gene_ID species ref effect gene_ID species ref effect
0 1 HUMAN 1 45 0 1 HUMAN 1 45
1 12 RAT 12 12 1 12 RAT 12 12
2 3 HORSE 3 33 2 3 HORSE 3 33
%% Cell type:markdown id:514f0885-8cad-4182-9c34-c7da0399b498 tags: %% Cell type:markdown id:514f0885-8cad-4182-9c34-c7da0399b498 tags:
All rows will be kept: All rows will be kept:
%% Cell type:code id:neural-christianity tags: %% Cell type:code id:neural-christianity tags:
``` python ``` python
pd.merge(table_4, table_5, left_on='gene_ID', right_on='ref', how='outer') pd.merge(table_4, table_5, left_on='gene_ID', right_on='ref', how='outer')
``` ```
%% Output %% Output
gene_ID species ref effect gene_ID species ref effect
0 1.0 HUMAN 1.0 45.0 0 1.0 HUMAN 1.0 45.0
1 12.0 RAT 12.0 12.0 1 3.0 HORSE 3.0 33.0
2 3.0 HORSE 3.0 33.0 2 12.0 RAT 12.0 12.0
3 42.0 MONKEY NaN NaN 3 NaN NaN 35.0 100.0
4 NaN NaN 35.0 100.0 4 42.0 MONKEY NaN NaN
%% Cell type:markdown id:ranging-northern tags: %% Cell type:markdown id:ranging-northern tags:
## Crosstab ## Crosstab
Compute a simple cross tabulation of two (or more) factors. By default computes a frequency table of the factor. Compute a simple cross tabulation of two (or more) factors. By default computes a frequency table of the factor.
> https://pandas.pydata.org/docs/reference/api/pandas.crosstab.html > https://pandas.pydata.org/docs/reference/api/pandas.crosstab.html
%% Cell type:code id:appropriate-astrology tags: %% Cell type:code id:appropriate-astrology tags:
``` python ``` python
pd.crosstab(index=titanic.Age, columns=titanic.Pclass) pd.crosstab(index=titanic.Age, columns=titanic.Pclass)
``` ```
%% Output %% Output
Pclass 1 2 3 Pclass 1 2 3
Age Age
0.42 0 0 1 0.42 0 0 1
0.67 0 1 0 0.67 0 1 0
0.75 0 0 2 0.75 0 0 2
0.83 0 2 0 0.83 0 2 0
0.92 1 0 0 0.92 1 0 0
... .. .. .. ... .. .. ..
70.00 1 1 0 70.00 1 1 0
70.50 0 0 1 70.50 0 0 1
71.00 2 0 0 71.00 2 0 0
74.00 0 0 1 74.00 0 0 1
80.00 1 0 0 80.00 1 0 0
[88 rows x 3 columns] [88 rows x 3 columns]
%% Cell type:markdown id:unsigned-coaching tags: %% Cell type:markdown id:unsigned-coaching tags:
## Saving data ## Saving data
To **csv**: To **csv**:
```python ```python
df.to_csv(<path to file>, index=False) df.to_csv(<path to file>, index=False)
``` ```
or **tsv** files: or **tsv** files:
```python ```python
df.to_csv(<path to file>, sep='\t', index=False) df.to_csv(<path to file>, sep='\t', index=False)
``` ```
If needed, you can even produce **xlsx** files with multiple spreadsheets: If needed, you can even produce **xlsx** files with multiple spreadsheets:
```python ```python
with pd.ExcelWriter("multi_sheet_excel.xlsx") as writer: with pd.ExcelWriter("multi_sheet_excel.xlsx") as writer:
df.to_excel(writer, sheet_name="stocks1") df.to_excel(writer, sheet_name="stocks1")
df2.to_excel(writer, sheet_name="stocks2") df2.to_excel(writer, sheet_name="stocks2")
``` ```
%% Cell type:markdown id:maritime-bandwidth tags: %% Cell type:markdown id:maritime-bandwidth tags:
## Copy warning ## Copy warning
As in numpy, you have to be careful when modifying your data to not affect other linked dataframe. As in numpy, you have to be careful when modifying your data to not affect other linked dataframe.
You can use `.copy` for the data to be a copy, and not a "view" or a linked dataframe. You can use `.copy` for the data to be a copy, and not a "view" or a linked dataframe.
%% Cell type:markdown id:empty-helicopter tags: %% Cell type:markdown id:empty-helicopter tags:
This affects `df1`: This affects `df1`:
%% Cell type:code id:corresponding-natural tags: %% Cell type:code id:corresponding-natural tags:
``` python ``` python
df1 = pd.DataFrame([[1,2,3],[4,5,6]]) df1 = pd.DataFrame([[1,2,3],[4,5,6]])
df2 = df1 df2 = df1
df2.iloc[1,1] = 42 df2.iloc[1,1] = 42
df1 df1
``` ```
%% Output %% Output
0 1 2 0 1 2
0 1 2 3 0 1 2 3
1 4 42 6 1 4 42 6
%% Cell type:markdown id:upper-october tags: %% Cell type:markdown id:upper-october tags:
This doesn't: This doesn't:
%% Cell type:code id:stunning-retrieval tags: %% Cell type:code id:stunning-retrieval tags:
``` python ``` python
df1 = pd.DataFrame([[1,2,3],[4,5,6]]) df1 = pd.DataFrame([[1,2,3],[4,5,6]])
df2 = df1.copy() df2 = df1.copy()
df2.iloc[1,1] = 12 df2.iloc[1,1] = 12
df1 df1
``` ```
%% Output %% Output
0 1 2 0 1 2
0 1 2 3 0 1 2 3
1 4 5 6 1 4 5 6
%% Cell type:markdown id:banner-communication tags: %% Cell type:markdown id:banner-communication tags:
# Teasing # Teasing
pandas use matplotlib to display graphics pandas use matplotlib to display graphics
%% Cell type:code id:relevant-sentence tags: %% Cell type:code id:relevant-sentence tags:
``` python ``` python
titanic.Age.hist(bins=40) titanic.Age.hist(bins=40)
``` ```
%% Output %% Output
<AxesSubplot:> <Axes: >
%% Cell type:markdown id:coral-visit tags: %% Cell type:markdown id:coral-visit tags:
# And so much more ... # And so much more ...
To name just a few: To name just a few:
- [pivot_table](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.pivot_table.html) - [pivot_table](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.pivot_table.html)
- [apply](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.html) - [apply](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.html)
- [map](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.map.html) - [map](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.map.html)
- [json_normalize](https://pandas.pydata.org/pandas-docs/version/0.17.0/generated/pandas.io.json.json_normalize.html) - [json_normalize](https://pandas.pydata.org/pandas-docs/version/0.17.0/generated/pandas.io.json.json_normalize.html)
- [multiindex](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.MultiIndex.html) - [multiindex](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.MultiIndex.html)
- Combination of groupby with mean, max, aggregate or boxplots. - Combination of groupby with mean, max, aggregate or boxplots.
- ... - ...
......
Source diff could not be displayed: it is too large. Options to address this: view the blob.
Source diff could not be displayed: it is too large. Options to address this: view the blob.
%% Cell type:code id:8ccafd3d tags:
``` python
import sys
!"{sys.executable}" -m pip install scipy ipywidgets
import scipy_material
```
%% Cell type:markdown id:6d2c6ebd tags:
<h1 align='center'>Statistical tests with the SciPy library</h1>
<div style='text-align:center'><img src='https://docs.scipy.org/doc/scipy/_static/logo.svg' /></div>
[SciPy](https://docs.scipy.org/doc/scipy/reference/#api-definition) is a collection of mathematical tools aiming at diverse fields, with functionalities split in several modules:
%% Cell type:code id:42342d74 tags:
``` python
from scipy import (
cluster, # Clustering algorithms
constants, # Physical and mathematical constants
fftpack, # Fast Fourier Transform routines
integrate, # Integration and ordinary differential equation solvers
interpolate, # Interpolation and smoothing splines
io, # Input and Output
linalg, # Linear algebra
ndimage, # N-dimensional image processing
odr, # Orthogonal distance regression
optimize, # Optimization and root-finding routines
signal, # Signal processing
sparse, # Sparse matrices and associated routines
spatial, # Spatial data structures and algorithms
special, # Special functions
stats, # Statistical distributions and functions
)
```
%% Cell type:markdown id:9e2fe344 tags:
`scipy.stats` content (see the [official documention](https://docs.scipy.org/doc/scipy/reference/reference/stats.html#module-scipy.stats)):
* [Probability distributions](https://docs.scipy.org/doc/scipy/reference/reference/stats.html#probability-distributions)
* [Summary statistics](https://docs.scipy.org/doc/scipy/reference/reference/stats.html#summary-statistics)
* [Frequency statistics](https://docs.scipy.org/doc/scipy/reference/reference/stats.html#frequency-statistics)
* [Correlation functions](https://docs.scipy.org/doc/scipy/reference/reference/stats.html#correlation-functions)
* [Statistical tests](https://docs.scipy.org/doc/scipy/reference/reference/stats.html#statistical-tests)
* ...
`scipy.stats` features basic functionalities and we will occasionally mention the `statsmodels` and `pingouin` libraries as we will hit `scipy.stats` limitations.
%% Cell type:markdown id:0d715671-e4ad-4d4d-b60f-9397e2b80b90 tags:
# Outline
%% Cell type:markdown id:5162d7b2-625a-4699-922e-92c5c2bfa769 tags:
We will merely review statistical tests:
* Distributions
* Student $t$ tests
* compare a sample mean against the population mean
* compare means of two independent samples
* compare the means of paired samples
* Analyses of variance (one-way)
* compare more than two group means
* Tests for other tests' assumptions
* normality tests
* homoscedasticity tests
* $\chi^2$ tests for categorical variables
* goodness-of-fit tests
* homogeneity and independence tests
* Correlation coefficient and linear regression
* Effect sizes
%% Cell type:markdown id:4bbf8433-58db-4738-bff9-33bde44f00df tags:
# Distributions
%% Cell type:markdown id:90e1f4cf-8993-4745-bf94-5d5fdf17b181 tags:
For this section, the related utilities are provided by `scipy.stats`:
%% Cell type:code id:c33e4518-3d64-4b55-baf5-cc06634590b7 tags:
``` python
import numpy as np
import pandas as pd
from scipy import stats
```
%% Cell type:markdown id:1091dfd5 tags:
Reminder about module loading:
Example: how to access the `sem` function defined in the `scipy.stats` module?
%% Cell type:code id:898957c8 tags:
``` python
%%script echo skipping
import scipy.stats
scipy.stats.sem
from scipy import stats
stats.sem
from scipy.stats import *
sem
```
%% Output
skipping
%% Cell type:markdown id:5be3195f-3d79-458d-94bb-5a2ef6b558cd tags:
## Confidence intervals
Common information such as the sample mean or standard deviation are trivial to obtain. For example, we have seen Pandas' `describe`:
%% Cell type:code id:da212ef7-0fc2-4ecb-9225-02e41f626b25 tags:
``` python
dataframe = pd.read_csv('../data/happiness.csv')
dataframe.describe()
#dataframe.describe(exclude=np.number)
```
%% Output
year score gdp family health \
count 712.000000 712.000000 712.000000 712.000000 712.000000
mean 2016.983146 5.384433 0.927765 1.084706 0.618347
std 1.421058 1.127515 0.398686 0.330334 0.241488
min 2015.000000 2.693000 0.000000 0.000000 0.000000
25% 2016.000000 4.511250 0.631888 0.877478 0.466158
50% 2017.000000 5.328000 0.990357 1.128175 0.652632
75% 2018.000000 6.227000 1.230653 1.341106 0.805084
max 2019.000000 7.769000 2.096000 1.644000 1.141000
freedom generosity
count 712.000000 712.000000
mean 0.410976 0.212137
std 0.152395 0.115306
min 0.000000 0.000000
25% 0.310890 0.127045
50% 0.430770 0.199319
75% 0.531000 0.273473
max 0.724000 0.611705
%% Cell type:markdown id:61b0384e-b15e-44e4-a231-72dadd49d1d6 tags:
To report the value of the population mean and account for the uncertainty that results from the fact the true value is actually unknown (the sample mean above is our best guess), we can give a confidence interval instead.
Reminder: the population mean follows a normal distribution centered at the sample mean, with standard deviation equal to the standard error of the mean (or, equivalently, the standard deviation of the sample divided by the square root of the sample size).
%% Cell type:code id:278c2259-7812-4d81-a6b6-56ebf3938bdf tags:
``` python
scipy_material.illustration_confidence_interval(0.410976, stats.sem(dataframe['freedom']))
```
%% Output
%% Cell type:markdown id:5f719439-1afd-4a21-bb80-81040010a5d9 tags:
Computing a confidence interval with SciPy involves instantiating the normal distribution with the `norm` function and calling the `interval` method of the returned object.
%% Cell type:code id:53efbf5b-03ad-4a95-a84d-1f01d7968410 tags:
``` python
X = dataframe['freedom']
mu = np.mean(X)
sigma = stats.sem(X)
distribution_of_the_mean = stats.norm(mu, sigma)
```
%% Cell type:code id:c66287ce-9ae8-487b-acf2-59d80638e503 tags:
``` python
distribution_of_the_mean.interval(0.95)
```
%% Output
(0.39978235603755674, 0.4221699825735007)
%% Cell type:markdown id:52080112-bf86-441c-af70-85eeadef820e tags:
Note again that we have set the scale parameter `sigma` equal to the sem. In contrast, if variable `Proteines` followed a normal distribution, we could define its distribution as:
%% Cell type:code id:4b6a2690-7a11-4fdc-a52f-af408dd91ff5 tags:
``` python
normal_distribution = stats.norm(X.mean(), X.std())
```
%% Cell type:markdown id:8b10833f-1da4-4781-b791-c2754f15f158 tags:
The objects `norm` returns (*e.g.* `distribution_of_the_mean`) feature numerous other methods:
%% Cell type:code id:c2943fe2-0f17-44b0-860a-1c9028e89e4e tags:
``` python
# probability density function
distribution_of_the_mean.pdf(0.4)
```
%% Output
11.018949544165157
%% Cell type:code id:b3d9cfed-b060-451f-b92a-0043ff1c3e2f tags:
``` python
# cumulative distribution function
distribution_of_the_mean.cdf(0.4)
```
%% Output
0.02731194353841207
%% Cell type:markdown id:a1728396-4859-4c36-917b-fb9113378baf tags:
See [scipy.stats.rv_continuous](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.rv_continuous.html#scipy.stats.rv_continuous) for more methods.
As another example, we can make use of the inverse survival function `isf` to re-implement the calculation of the $1-\alpha=95\%$ confidence interval based on the following formula:
$$
\bar{x} \pm z_{1-\alpha/2}\frac{\sigma}{\sqrt{n}}
$$
Indeed, $z_{1-\alpha/2}$ is calculated as follows:
%% Cell type:code id:09d17b75-cb67-47b7-acf2-68269df1daae tags:
``` python
alpha = 0.05
z = stats.norm().isf(alpha / 2)
z
```
%% Output
1.9599639845400545
%% Cell type:markdown id:be2d1285-aa22-4c82-ad7c-d1df0a064df4 tags:
For a $95\%$ confidence interval, we usually take $z\approx 1.96$. Note we took the standard normal distribution, with null mean and unit standard deviation (`stats.norm()` is equivalent to `stats.norm(0, 1)`).
$\frac{\sigma}{\sqrt{n}}$ is the standard deviation of the sample mean, or standard error of mean, that we have already calculated using the `sem` function.
%% Cell type:code id:7b3c6d6b-849e-4b68-8b6b-fcfa86582d99 tags:
``` python
print(f'Freedom to make life choice is {mu:.3f}±{z * sigma:.3f} on average')
```
%% Output
Freedom to make life choice is 0.411±0.011 on average
%% Cell type:markdown id:d6b0c2ee-4f6b-49db-8c26-dd64aede72fb tags:
## Fitting
%% Cell type:markdown id:994df34d tags:
We have seen how to fit a normal distribution explicitly passing a mean and standard deviation. More generally, for any distribution from `scipy.stats`, we can get the required parameters using the `stats.<distribution>.fit` method. For example, for distribution `stats.norm` with sample `X`:
%% Cell type:code id:4f114ad2-9cd2-431a-8b3e-2283006ef970 tags:
``` python
normal_distribution = stats.norm(*stats.norm.fit(X))
```
%% Cell type:markdown id:cef7bb4e-38b9-4abc-97e4-419a9650173b tags:
Now, unlike the population mean, there is no guarantee a sample follows a normal distribution.
To determine what distribution a sample best follows, we can fit various distributions to the data and visually appreciate how well these distributions match with the data by plotting a scaled histogram and the probability density functions of the fitted distributions on top of the histogram.
%% Cell type:code id:8e114e17-8edb-4674-9309-c6f566885c0a tags:
``` python
# plot the histogram
import seaborn as sns
ax = sns.histplot(X, bins=20, stat='density')
curve_names = []
# fit a normal distribution
norm = stats.norm(*stats.norm.fit(X))
# draw the probability density function
from matplotlib import pyplot as plt
grid = np.linspace(X.min(), X.max(), 300)
ax.plot(grid, norm.pdf(grid))
curve_names.append('normal')
# fit and overlay more distributions
if False:
t = stats.t(*stats.t.fit(X))
ax.plot(grid, t.pdf(grid))
curve_names.append('t')
chi2 = stats.chi2(*stats.chi2.fit(X))
ax.plot(grid, chi2.pdf(grid))
curve_names.append('chi2')
if False:
weibull_min = stats.weibull_min(*stats.weibull_min.fit(X))
ax.plot(grid, weibull_min.pdf(grid))
curve_names.append('weibull minimum extreme value')
weibull_max = stats.weibull_max(*stats.weibull_max.fit(X))
ax.plot(grid, weibull_max.pdf(grid))
curve_names.append('weibull maximum extreme value')
if curve_names:
ax.legend(curve_names)
```
%% Output
%% Cell type:markdown id:7948848f-1492-41ec-9d4b-714343727106 tags:
Note that plotting histograms is good practice anyway, because it helps to spot data distributions with multiple modes. Multiple modes in a sample are a red flag for tests that compare estimates of central tendency (*e.g.* means).
%% Cell type:markdown id:cf25c4a2-bf73-448a-b72a-88f8c4aca157 tags:
...and we can test whether `Freedom to make life choice` follows a Weibull distribution in our sample with the one-sample Kolmogorov-Smirnov test:
%% Cell type:code id:7a0035eb-9d26-414b-b5b2-e73e792e6173 tags:
``` python
statistic, pvalue = stats.kstest(X, weibull_max.cdf)
pvalue
```
%% Output
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[16], line 1
----> 1 statistic, pvalue = stats.kstest(X, weibull_max.cdf)
2 pvalue
NameError: name 'weibull_max' is not defined
%% Cell type:markdown id:ddeacee0-2062-476d-b7ec-9e0f036d6c4b tags:
# Statistical testing
%% Cell type:markdown id:5f2fcb2e-1097-4bb7-ba77-fceaa3b55702 tags:
> What did we do?
We compared our **observations** `x` with some **expectation**.
We actually formulated a so-called *null hypothesis*, denoted $H_0$, that models the situation such that "nothing is going on", *i.e.* the observations meet the expectation.
We also implicitly defined an alternative hypothesis, usually denoted $H_1$ or $H_A$, that can simply be the opposite of $H_0$.
For example:
$$
\left\{
\begin{array}{ l l l }
H_0: & X \sim \mathcal{N}(\mu, \sigma^2) & \mbox{with } \mu \mbox{ assumed to be } \bar{x} \mbox{ and } \sigma^2 \mbox{ as } \frac{1}{n-1}\sum_{i=0}^{n-1} (x_i - \bar{x})^2 \\
H_A: & \mbox{not } H_0
\end{array}
\right.
$$
A test consists in contrasting the two incompatible hypotheses.
If we had a single observation – say $z=1.4$ – to compare with a distribution – say $\mathcal{N}(0,1)$ – we would simply compute the probability for this value to be drawn from this distribution (or not):
%% Cell type:code id:8346ad8e tags:
``` python
z = 1.4
N = stats.norm(0, 1)
onesided_pvalue = N.sf(z) # sf= survival function
twosided_pvalue = 2 * min(N.cdf(z), N.sf(z))
```
%% Cell type:code id:404476b6 tags:
``` python
scipy_material.illustration_onesided_probabilitymass(z, N, onesided_pvalue)
```
%% Cell type:markdown id:99a007ac tags:
In practice, all tests boil down to comparing a single value with a reference distribution. Basically, a test expresses the discrepancy between the observations and the expectation in the shape of a *statistic*, and this statistic is supposed to follow a given distribution under $H_0$.
This is used as a basis to calculate a *p*-value that estimates the probability of erroneously rejecting $H_0$.
The experimenter also defines a significance level $\alpha$, with common values $\alpha=0.05$ or $0.01$, that sets the maximum tolerated risk of making a *type-1 error*, *i.e.* of rejecting $H_0$ by chance.
If the obtained <em>p</em>-value is lower than $\alpha$, then s·he can conclude there is sufficient evidence to reject $H_0$.
%% Cell type:code id:b162e92e tags:
``` python
%%html
<style>table#typeoferrors { text-align: center; font-size: large; margin-left: 1px;} #typeoferrors td { text-align: center; font-size: large; border-right: solid 1px black; border-bottom: solid 1px black; } #typeoferrors td.border { font-size: small; border-left: solid 1px black; border-top: solid 1px black; } #typeoferrors td.wrong { color: orange; } #typeoferrors td.ok { color: green; } #typeoferrors span.sub { font-size: x-small; } #typeoferrors td.footnote { text-align: left; font-size: xx-small; border-right: 0px; border-bottom: 0px; } </style> <table id="typeoferrors"> <tr><td rowspan="2" colspan="2"></td><td colspan="2" class="border">Conclusion about $H_0$<br />from the statistical test</td></tr> <tr><td>accept</td><td>reject</td></tr> <tr><td rowspan="2" class="border">Truth about $H_0$<br />in the population</td><td>true</td><td class="ok">Correct</td><td class="wrong">Type 1 error<br /><span class="sub">observe difference<br />when none exists</span></td></tr> <tr><td>false</td><td class="wrong">Type 2 error<br /><span class="sub">fail to observe difference<br />when one exists</span></td><td class="ok">Correct</td></tr> <tr><td colspan="4" class="footnote"> <a href="https://faculty.nps.edu/rbassett/_book/hypothesis-testing-one-sample.html#fig:errorsHypTesting">https://faculty.nps.edu/rbassett/_book/hypothesis-testing-one-sample.html#fig:errorsHypTesting</a> </td></tr> </table>
```
%% Cell type:markdown id:446ba63e-df67-46ca-8921-eca686462c93 tags:
## *t* tests
%% Cell type:markdown id:8f9602b8-5f64-438b-8051-c71f9c8b0b14 tags:
*t* tests derive a statistic that is supposed to follow the [Student's *t* distribution](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.t.html) under $H_0$:
%% Cell type:code id:67d046f0-ca64-4a12-8e32-58b8e7e142a0 tags:
``` python
scipy_material.illustration_t_pdfs()
```
%% Cell type:markdown id:701ee597-2eec-4404-8a0e-601ae2121e19 tags:
At high degrees of freedom, the *t* distribution approaches the normal distribution. At lower degrees of freedom, the *t* distribution exhibits heavier tails and is less sensitive to extreme values.
%% Cell type:markdown id:ca6bf548-cadf-4c75-8130-fe0c3ef8de9a tags:
### One-sample *t* test
%% Cell type:markdown id:0e1a462c-5c60-4438-a339-7c284ff56e15 tags:
This test compares a sample's central tendency (*sample mean*) with a reference value (*population mean*).
<table style="text-align: center;"><tr><td>
<img src='../images/8mice.svg' />
</td><td>
<img src='../images/Scientific_journal_icon.svg' width="96px" />
</td></tr><tr><td><center>
<code>x=[49.5 81.9 64.0 17.3 59.8 94.6 69.9 12.4]</code>
</center></td><td><center>
<code>&mu;=50</code>
</center></td></tr></table>
Let us call $\mu$ this reference value. Our expectation is that the sample mean $\bar{X}$ is close enough to $\mu$.
In other words, $H_0: \bar{X} = \mu$.
The statistic is:
$$
\frac{\bar{X} - \mu}{\mathrm{SEM}} \mbox{ } \mbox{ } \mbox{ } \mbox{ } \mbox{ } \mbox{ } \mbox{ } \sim t(n-1) \mbox{ } \textrm{under} \mbox{ } H_0
$$
`scipy`'s one-sample *t* test is [ttest_1samp](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_1samp.html):
`scipy.stats.ttest_1samp(a, popmean, axis=0, nan_policy='propagate', alternative='two-sided')`
%% Cell type:code id:b471633d-c9ad-455e-84e1-d32af085b32a tags:
``` python
mu = 50
x = np.array([49.47257879, 81.93967205, 64.030398, 17.25423608, 59.80082512,
94.56012514, 69.91672899, 12.39640637])
stats.ttest_1samp(x, mu)
```
%% Cell type:markdown id:dac3b6db-2ad7-46b4-937f-9dda1015b7fc tags:
If we do not mind a negative difference (resp. positive difference), *i.e.* we consider the danger zone to begin only above (resp. below) the expected value, we can make the test one-sided to gain statistical power.
To this aim, we must choose and specify which side passing the `alternative` argument with value `'greater'` (resp. `'less'`):
%% Cell type:code id:b732c69f-1851-4ef2-bdc2-8f80b4c5281e tags:
``` python
stats.ttest_1samp(x, mu, alternative='greater')
```
%% Cell type:markdown id:2144869e-9e4a-4e63-ae58-81c5a6be7205 tags:
### *t* test for independent samples
%% Cell type:markdown id:1e31b437-eceb-4da1-9ab3-f11d45b352c0 tags:
This test compares the means of two samples or groups, *e.g.* a control sample and a sample from a mutated population: $H_0: \bar{X_1} = \bar{X_2}$.
<table style="text-align:center;"><tr><td>
<img src="../images/8mice.svg" alt="sample of the control population" />
</td><td>
<img src="../images/8mutants1.svg" alt="sample of a mutated population" />
</td></tr><tr><td><center>
<code>x<sub>1</sub>=[49.5 81.9 64.0 17.3 59.8 94.6 69.9 12.4]</code>
</center></td><td><center>
<code>x<sub>2</sub>=[64.2 96.6 101.9 85.3 66.5 63.9 127.6 55.0]</code>
</center></td></tr></table>
`scipy`'s *t* test for independent samples uses the statistic $t=\frac{\bar{X_1}-\bar{X_2}}{\sqrt{(\frac{1}{n_1}+\frac{1}{n_2})\mbox{ }\textrm{PooledVariance}}}$ with $\textrm{PooledVariance} = \frac{1}{n_1+n_2-2}\sum_{j\in\{1,2\}}\sum_i (x_{ij}-\bar{x_j})^2$ and is available as [ttest_ind](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_ind.html):
`scipy.stats.ttest_ind(a, b, axis=0, equal_var=True, nan_policy='propagate', permutations=None, random_state=None, alternative='two-sided', trim=0)`
%% Cell type:code id:6231e214-ac36-4c4f-8a16-e1551c8484b4 tags:
``` python
x1 = x
x2 = np.array([64.22723692, 96.56483856, 101.94191774, 85.31918879,
66.49529990, 63.88841224, 127.63861749, 55.00527005])
stats.ttest_ind(x1, x2)
```
%% Cell type:markdown id:5ec31e3d-7650-4208-b327-1e712c9c8460 tags:
`scipy`'s implementation does not require equal numbers of observations per group, but assumes the groups have [similar variances ($0.5<\frac{s_{X_1}}{s_{X_2}}<2$)](https://en.wikipedia.org/wiki/Student%27s_t-test#Equal_or_unequal_sample_sizes,_similar_variances_(1/2_%3C_sX1/sX2_%3C_2)).
For heterogeneous groups, `ttest_ind` also implements Welch's *t* test with `equal_var=False`.
%% Cell type:markdown id:1083c04c-1221-446f-84a0-7084413a7722 tags:
### *t* test for paired samples
%% Cell type:markdown id:4743e7fc-b964-48d4-9e13-e78146626c5a tags:
<img src='../images/paired1.svg' />
`scipy`'s *t* test for paired samples is [ttest_rel](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_rel.html):
`scipy.stats.ttest_rel(a, b, axis=0, nan_policy='propagate', alternative='two-sided')`
This is actually a one-sample *t* test of the between-group differences against a population mean equal to zero (compare [1](https://github.com/scipy/scipy/blob/v1.7.1/scipy/stats/stats.py#L6450-L6460) and [2](https://github.com/scipy/scipy/blob/v1.7.1/scipy/stats/stats.py#L5647-L5656)).
%% Cell type:markdown id:119c66ea-ab2c-4347-898c-ee5c0b38e89d tags:
### Effect sizes
%% Cell type:markdown id:2703f3b1 tags:
Very low *p*-values are not measurements of the strength of an effect. One should consider the *effect size* instead.
A common measure of effect size for two independent samples is [Cohen's $d$](https://en.wikipedia.org/wiki/Effect_size#Cohen's_d): $d = \frac{\bar{X_2}-\bar{X_1}}{\sqrt{\textrm{PooledVariance}}}$
%% Cell type:code id:3beb1fbb-a1ac-40aa-b4ce-b97f151392f5 tags:
``` python
scipy_material.illustration_cohen_d();
```
%% Cell type:markdown id:f8e1face-4845-459d-95c2-8674181d39b5 tags:
With large enough sample sizes, one can find significant effects of size $0.1$ for example, which may not be of practical interest. Statistical significance does not imply practical significance.
Measurements of effect size were proposed together with [tables](https://core.ecu.edu/wuenschk/docs30/EffectSizeConventions.pdf) for interpreting size values. For example, for Cohen's $d$:
| $|d|$ | size of effect |
| :-: | :-- |
| $0.2$ | small |
| $0.5$ | medium |
| $0.8$ | large |
%% Cell type:code id:a075fc16-e6e1-4f88-8a72-7daf0f72ff28 tags:
``` python
def cohen_d(x1, x2):
n1, n2 = len(x1), len(x2)
m1, m2 = np.mean(x1), np.mean(x2)
v1, v2 = np.var(x1), np.var(x2)
pooled_variance = (n1 * v1 + n2 * v2) / (n1 + n2 - 2)
d = (m2 - m1) / np.sqrt(pooled_variance)
return d
```
%% Cell type:markdown id:479e8f62-c653-472d-b9d5-d3bf854d09ff tags:
Adjusted Cohen's $d$ for dependent samples:
%% Cell type:code id:25adcf4f-6611-434f-b619-27f341b3caad tags:
``` python
r, _ = stats.pearsonr(x1, x2)
cohen_d(x1, x2) / np.sqrt(1 - r)
```
%% Cell type:markdown id:6b0fd532-87d0-4747-b3a3-322d77c2bfbd tags:
## Analysis of variance
%% Cell type:markdown id:8443a0ff-75ed-4d88-a4e8-a988e6de3716 tags:
### One-way ANOVA
Comparing three or more group means reads $H_0: \bar{X_0} = \bar{X_1} = ... = \bar{X_k}$ and is usually carried out with an *analysis of variance*.
The total variance ($SS_{\textrm{total}}$) is decomposed as the sum of two terms: *within-group* variance ($SS_{\textrm{error}}$) and *between-group* variance ($SS_{\textrm{treatment}}$).
$$
\underbrace{\sum_j\sum_i (x_{ij} - \bar{\bar{x}})^2}_{SS_{\textrm{total}}} = \underbrace{\sum_j\sum_i (\bar{x_j} - \bar{\bar{x}})^2}_{SS_{\textrm{treatment}}} + \underbrace{\sum_j\sum_i (x_{ij} - \bar{x_j})^2}_{SS_{\textrm{error}}}
$$
Many statistical tools give the following detailled table:
| Source | Degrees of<br />freedom | Sum of squares | Mean squares | $\mbox{ }F\mbox{ }$ | $p$-value |
| :- | :-: | :-: | :-: | :-: | :-: |
| Treatment | $k-1$ | $SS_{\textrm{treatment}}$ | $MS_{\textrm{treatment}}$ | $\frac{MS_{\textrm{treatment}}}{MS_{\textrm{error}}}$ | $\mbox{ }p\mbox{ }$ |
| Error | $N-k$ | $SS_{\textrm{error}}$ | $MS_{\textrm{error}}$ | | |
| Total | $N-1$ | $SS_{\textrm{total}}$ | | | |
The statistic $F = \frac{MS_{\textrm{treatment}}}{MS_{\textrm{error}}}$ follows the Fisher's [F](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.f.html) distribution under $H_0$.
More about it at: https://www.coursera.org/learn/stanford-statistics/lecture/pskeN/the-idea-of-analysis-of-variance
The most basic [implementation](https://github.com/scipy/scipy/blob/v1.7.1/scipy/stats/mstats_basic.py#L2937-L2967) of the one-way ANOVA in SciPy is [f_oneway](https://docs.scipy.org/doc/scipy/reference/reference/generated/scipy.stats.f_oneway.html):
%% Cell type:code id:2bf0aafa-d23f-44fe-b9e0-cf4bf13e7314 tags:
``` python
A = [85, 86, 88, 75, 78, 94, 98, 79, 71, 80]
B = [91, 92, 93, 85, 87, 84, 82, 88, 95, 96]
C = [79, 78, 88, 94, 92, 85, 83, 85, 82, 81]
stats.f_oneway(A, B, C)
```
%% Cell type:markdown id:164aa1ae-5446-4680-9571-c783edaf4101 tags:
The ANOVA is an *omnibus* test and does not tell which groups exhibit differing means. Specific differences are later identified using *post-hoc tests* (more about it in next session).
%% Cell type:markdown id:8bf2c9ad-68fd-4f4b-b68c-180de69d3522 tags:
### Assumptions
%% Cell type:markdown id:bd484cda-1d0b-4468-a092-f362744f8aa0 tags:
The standard ANOVA requires the data to exhibit the following properties:
* independent observations,
* normally distributed residuals,
* all groups have equal population variance (*homoscedasticity*),
* at least 5 observations ($n \ge 5$) per group (and equal number).
%% Cell type:markdown id:0ea4e6c8-4851-4704-b9ca-6257239ab07b tags:
#### Size effect
%% Cell type:markdown id:39925882-deb4-43e1-8d82-9fb1e68df0ba tags:
Mentioned for completeness: Cohen's $f=\sqrt{\frac{R^2}{1 - R^2}}=\sqrt{\frac{SS_{\textrm{treatment}}}{SS_{\textrm{error}}}}$ and [$\sqrt{F}$ root mean square effect](https://en.wikipedia.org/wiki/Effect_size#%CE%A8,_root-mean-square_standardized_effect) are suitable for one-way ANOVA but not widely used, as post-hoc tests give a more natural approach to size effects.
`statsmodels` features [effectsize_oneway](https://www.statsmodels.org/stable/generated/statsmodels.stats.oneway.effectsize_oneway.html).
%% Cell type:markdown id:e38c759e-8807-4975-9620-9c2100b964a8 tags:
## Checking for common assumptions
%% Cell type:markdown id:e9509dde-4edf-4d5b-bcb6-7bd6bbd87918 tags:
Visually checking for desired properties like normality or equal variance is acceptable, especially if the data are generally known to exhibit these properties.
### Normality
Having this property is usually not critical, because most tests are fairly robust to non-normality.
We only need to avoid cases of «extreme non-normality».
Beware however that, in the case of residuals (prediction errors of a model), a departure from normality may be an indication of systematic errors in some groups.
%% Cell type:markdown id:c5fa2537-0d3b-4b1d-bba4-a479cdf2c0a9 tags:
#### Graphical approaches
%% Cell type:markdown id:f0f983f0-6143-44b0-9eee-f6d54eb5cf51 tags:
Probability plots with [probplot](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.probplot.html) (or [statsmodels.api.qqplot](https://www.statsmodels.org/stable/generated/statsmodels.graphics.gofplots.qqplot.html) with one sample):
%% Cell type:code id:6bcaa795-3a85-4b8c-aad9-d554e244a2ec tags:
``` python
np.random.seed(1245619531)
x_normal = stats.norm.rvs(loc=0, scale=1, size=30) # generate 30 observations from the standard normal distribution
x_not_normal = stats.norm.rvs(loc=[-1,1], scale=[1,3], size=(15,2)).ravel() # generate 30 observations from a mixture of normal distributions
_, axes = plt.subplots(1, 2, figsize=(13.3,4.1))
stats.probplot(x_normal, plot=axes[0])
stats.probplot(x_not_normal, plot=axes[1]);
```
%% Cell type:markdown id:8f46e74c-ee1f-454c-a4a1-3e551899e7e7 tags:
#### Normality tests
%% Cell type:markdown id:81a1572d-1639-42d9-834c-2ba86c7c7dd3 tags:
* D'Agostino's test: [normaltest](https://docs.scipy.org/doc/scipy/reference/reference/generated/scipy.stats.normaltest.html), preferably for large samples ($n>20$),
* Similar test for skewness only: [skewtest](https://docs.scipy.org/doc/scipy/reference/reference/generated/scipy.stats.skewtest.html) ($n\ge8$),
%% Cell type:code id:e964be07-0696-4ff8-844a-3e7d318a7f3a tags:
``` python
skewed_dist = lambda sigma, x: np.exp( -.5*(np.log(x)/sigma)**2 ) / ( x*sigma*np.sqrt(2*np.pi) )
heavy_tailed_dist = lambda scale, x: stats.cauchy.pdf(x, 0, scale)
colors = ['blue', 'green', 'orange', 'red']
_, axes = plt.subplots(1, 2, figsize=(13.3,4.1))
grid = np.linspace(0, 3, 100)
grid = grid[1:]
ax = axes[0]
for sigma, color in zip((.25, .5, 1), colors):
ax.plot(grid, skewed_dist(sigma, grid), '-', color=color, label=f'$\\sigma={sigma:.2f}$')
ax.axhline(0, linestyle='--', color='grey', linewidth=1)
ax.set_xlim(grid[[0,-1]])
ax.set_title('skewness')
grid = np.linspace(-4, 4, 100)
ax = axes[1]
for s, color in zip((.5, 1, 2), colors):
ax.plot(grid, heavy_tailed_dist(s, grid), '-', color=color, label=f'$scale={s:.2f}$')
ax.axvline(0, linestyle='--', color='grey', linewidth=1)
ax.axhline(0, linestyle='--', color='grey', linewidth=1)
ax.set_xlim(grid[[0,-1]])
ax.set_title('kurtosis')
for ax in axes:
ax.set_ylabel('probability density')
ax.legend();
```
%% Cell type:markdown id:eed065d2-dd35-4fdb-ad91-8d387a06c7ea tags:
* Shapiro-Wilk's test: [shapiro](https://docs.scipy.org/doc/scipy/reference/reference/generated/scipy.stats.shapiro.html),
* Generic goodness-of-fit tests: [kstest](https://docs.scipy.org/doc/scipy/reference/reference/generated/scipy.stats.kstest.html) and [anderson](https://docs.scipy.org/doc/scipy/reference/reference/generated/scipy.stats.anderson.html).
%% Cell type:markdown id:4c7a08d6-3c74-48ce-ad32-f164089b6ec7 tags:
### Equal variance (homoscedasticity)
%% Cell type:markdown id:5e5a893e-6475-401b-9335-b117629b8d0a tags:
#### Graphical approaches
Simple per-group box plots.
%% Cell type:code id:8a31b653-d891-4f07-ab8b-73562b2ed86d tags:
``` python
A = [85, 86, 88, 75, 78, 94, 98, 79, 71, 80]
B = [91, 92, 93, 85, 87, 84, 82, 88, 95, 96]
C = [79, 78, 88, 94, 92, 85, 83, 85, 82, 81]
df = pd.DataFrame(data=dict(A=A, B=B, C=C))
plt.boxplot(df, labels=df.columns);
```
%% Cell type:markdown id:e985446d-d250-4d88-9a13-50a098cd016b tags:
#### Equality-of-variance tests
* Bartlett's test: [bartlett](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.bartlett.html), most basic and common test,
* Levene's test: [levene](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.levene.html), better for skewed or heavy-tailed distributions,
* ...and others: Fligner-Killeen's test ([fligner](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.fligner.html)), Ansari-Bradley's test ([ansari](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ansari.html)), etc
Example:
%% Cell type:code id:280180fa-4f20-44a6-a463-2ce9b0ad75a4 tags:
``` python
# copied-pasted from https://www.statology.org/bartletts-test-python/
A = [85, 86, 88, 75, 78, 94, 98, 79, 71, 80]
B = [91, 92, 93, 85, 87, 84, 82, 88, 95, 96]
C = [79, 78, 88, 94, 92, 85, 83, 85, 82, 81]
stats.bartlett(A, B, C)
```
%% Cell type:markdown id:e906820a-af04-4a9d-992f-f2e07a7aed91 tags:
In the above example, as there is not enough evidence to reject $H_0$ ($p>0.05$), we can proceed to perform a standard one-way ANOVA. Otherwise, we would go for an Alexander-Govern's test or Welch's *F* test instead.
The Alexander-Govern's test is available in `scipy` as [alexandergovern](https://docs.scipy.org/doc/scipy/reference/reference/generated/scipy.stats.alexandergovern.html), but the Welch's *F* test is not (neither in `scipy.stats` nor in `statsmodels`). Install the `Pingouin` package and try out the [welch_anova](https://pingouin-stats.org/generated/pingouin.welch_anova.html) function instead.
The Bartlett's test statistic follows $\chi^2_{k-1}$ with $k$ the number of groups. As most tests based on the $\chi^2$ distribution, the *p*-value is one-sided.
%% Cell type:code id:b8123d48-7285-4fa3-8473-04f316dedffc tags:
``` python
grid = np.linspace(0, 20, 200)
dfs = [2, 3, 5, 9]
_, axes = plt.subplots(1, 2, figsize=(13.3,4.1))
ax = axes[0]
for df, color in zip(
dfs,
['blue', 'green', 'orange', 'red'],
):
chi2 = stats.chi2.pdf(grid, df)
ax.plot(grid, chi2, '-', color=color)
ax.axhline(0, linestyle='--', color='grey', linewidth=1)
ax.set_xlim(grid[0],grid[-1])
ax.set_xlabel(r'$\chi^2$')
ax.set_ylabel('probability density')
ax.legend([ f'$df={df}$' for df in dfs ])
ax = axes[1]
df, color = 2, 'blue'
chi2 = stats.chi2.pdf(grid, df)
ax.plot(grid, chi2, '-', color=color)
ax.axhline(0, linestyle='--', color='grey', linewidth=1)
ax.set_xlim(grid[0],grid[-1])
ax.set_xlabel(r'$\chi^2$')
ax.set_ylabel('probability density');
A = [85, 86, 88, 75, 78, 94, 98, 79, 71, 80]
B = [91, 92, 93, 85, 87, 84, 82, 88, 95, 96]
C = [79, 78, 88, 94, 92, 85, 83, 85, 82, 81]
bartlett_statistic, bartlett_pvalue = stats.bartlett(A, B, C)
bartlett_statistic_line, = ax.plot([bartlett_statistic]*2, [0, stats.chi2.pdf(bartlett_statistic, df)], '-', zorder=1)
tail = grid[bartlett_statistic<=grid]
ax.fill_between(tail, np.zeros_like(tail), stats.chi2.pdf(tail, df), alpha=.2)
ax.annotate(f'$\\approx {bartlett_pvalue:.2f}$', (4, .02), xytext=(8, .1), arrowprops=dict(arrowstyle="->"));
```
%% Cell type:markdown id:c09c6222-4167-4e32-b6da-4abe3a8960de tags:
## χ² tests
%% Cell type:markdown id:1ec71b98-8d1b-4854-b86d-df738ddc8595 tags:
When the sum of the observations is known, *e.g.* observations are frequencies -- proportions that sum to $1$, we use a $\chi^2$ test instead of an ANOVA.
### Goodness-of-fit
%% Cell type:markdown id:d855b1f2-3105-445a-b1a6-b99bceeb66b7 tags:
Example:
Comparing the frequencies of the different allele variants at a given locus between a reference genome and a test genome.
Another popular example: [Color proportion of M&Ms [Coursera]](https://www.coursera.org/learn/stanford-statistics/lecture/rAwbR/the-color-proportions-of-m-ms):
| blue | orange | green | yellow | red | brown |
| :-: | :-: | :-: | :-: | :-: | :-: |
| 24% | 20% | 16% | 14% | 13% | 13% |
%% Cell type:code id:84f4e9b3-a653-422c-8fc5-83b29869ba87 tags:
``` python
expected_props = np.array([ .24, .2, .16, .14, .13, .13 ])
observed_counts = np.array([ 85, 79, 56, 64, 58, 68 ])
np.sum(observed_counts)
```
%% Cell type:code id:8bb2916a-e9a4-4bbe-b04f-14818bb68723 tags:
``` python
expected_counts = expected_props * np.sum(observed_counts)
expected_counts
```
%% Cell type:markdown id:a75bd8d7-f61e-49bc-80b4-cb1f05ccd7c1 tags:
| | blue | orange | green | yellow | red | brown |
| --: | :-: | :-: | :-: | :-: | :-: | :-: |
| Expected | 98.4 | 82 | 65.6 | 57.4 | 53.3 | 53.3 |
| Observed | 85 | 79 | 56 | 64 | 58 | 58 |
The statistic is:
$$
\chi^2 = \sum_{i=1}^{k} \frac{(O_i - E_i)^2}{E_i} \mbox{ } \mbox{ } \mbox{ } \mbox{ } \mbox{ } \mbox{ } \mbox{ } \sim \chi^2_{k-1} \mbox{ } \textrm{under} \mbox{ } H_0
$$
%% Cell type:code id:a8898631-a5b5-49e8-a158-3e149345391a tags:
``` python
k = len(expected_counts)
chi2 = np.sum((observed_counts - expected_counts) ** 2 / expected_counts)
chi2
```
%% Cell type:code id:7a8af457-13dc-483a-90e3-50d3949c8edf tags:
``` python
pvalue = stats.chi2(k-1).sf(chi2)
pvalue
```
%% Cell type:markdown id:92886c91-f6ef-419d-bfda-e28d9dfcc7bc tags:
`scipy.stats`'s implementation of the test is [chisquare](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.chisquare.html):
%% Cell type:code id:1e246915-e9be-4826-9677-d9f30348d0df tags:
``` python
stats.chisquare(observed_counts, expected_counts)
```
%% Cell type:markdown id:00614391-2cdb-4e8f-9734-a1fd2df57637 tags:
#### Size effect
Cohen's $w$:
%% Cell type:code id:f2231df3-3ce3-40c4-ae75-f6159061e3d6 tags:
``` python
cohen_w = np.sqrt(chi2)
cohen_w
```
%% Cell type:markdown id:1feb29a6-eeac-4096-8e90-c663fdeea8a8 tags:
### Homogeneity and independence
%% Cell type:markdown id:2ef858d5-ec8f-405d-924e-62f5286a94c5 tags:
Example:
Comparing the frequency of cell types in cultures that differ in the treatments:
| Observed | Type A cells | Type B cells | Type C cells | Type D cells |
| --: | :-: | :-: | :-: | :-: |
| Treatment 1 | 134 | 86 | 32 | 11 |
| Treatment 2 | 101 | 92 | 38 | 8 |
| Treatment 3 | 188 | 67 | 54 | 19 |
$H_0$: the treatments have no effect on the frequency of the cell types.
https://www.coursera.org/learn/stanford-statistics/lecture/78IMJ/the-chi-square-test-for-homogeneity-and-independence
%% Cell type:code id:13145d41-7dc3-4eff-9f9c-38d0abed1e8d tags:
``` python
observed_counts = np.array([
[ 134, 86, 32, 11 ],
[ 101, 92, 38, 8 ],
[ 188, 67, 54, 19 ],
])
```
%% Cell type:code id:fe4ce304-25ac-4734-9a0a-e20db59b742f tags:
``` python
expected_props = np.sum(observed_counts, axis=0) / np.sum(observed_counts)
expected_props
```
%% Cell type:markdown id:7f4b4727-3a9b-474f-b6ad-b632be97b04e tags:
Under $H_0$, the expected proportions are:
| Expected | Type A cells | Type B cells | Type C cells | Type D cells |
| --: | :-: | :-: | :-: | :-: |
| Treatment 1 | 51% | 29% | 15% | 5% |
| Treatment 2 | 51% | 29% | 15% | 5% |
| Treatment 3 | 51% | 29% | 15% | 5% |
%% Cell type:code id:087ea780-304c-459d-a7c0-066817f3d82f tags:
``` python
expected_counts = np.outer(np.sum(observed_counts, axis=1), expected_props)
expected_counts
```
%% Cell type:markdown id:c0f49b1a-3a7a-4ad8-8d2a-9fd3513ad2a6 tags:
| Expected | Type A cells | Type B cells | Type C cells | Type D cells |
| --: | :-: | :-: | :-: | :-: |
| Treatment 1 | 134 | 77.6 | 39.3 | 12 |
| Treatment 2 | 121.8 | 70.5 | 35.7 | 10.9 |
| Treatment 3 | 167.2 | 96.8 | 49 | 15 |
%% Cell type:code id:d9585b87-f5dd-4cf2-ad91-0a79dcc95c86 tags:
``` python
j, k = expected_counts.shape
dof = (j - 1) * (k - 1)
chi2 = np.sum((observed_counts - expected_counts) ** 2 / expected_counts)
chi2
```
%% Cell type:code id:a7cd985e-eb2b-4a72-a221-30e3e0fdf8ec tags:
``` python
stats.chi2(dof).sf(chi2)
```
%% Cell type:markdown id:13d7ef58-e62d-48de-a3a4-2ccc2ac588cb tags:
`scipy.stats`'s $\chi^2$ test for homogeneity/independence is [chi2_contingency](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.chi2_contingency.html):
%% Cell type:code id:4cd7ea08-110a-4ff7-9521-0f12e4169d35 tags:
``` python
stats.chi2_contingency(observed_counts)
```
%% Cell type:markdown id:45da92b9-cd4e-4d1b-8996-451285ef1896 tags:
Due to the design of the test, it doesn't matter what factor whose effect is hypothesized to be null under $H_0$:
%% Cell type:code id:d7e7fd75-068c-4f37-b981-498890c4a0d7 tags:
``` python
stats.chi2_contingency(observed_counts.T)
```
%% Cell type:markdown id:ca862d48 tags:
### Two-sample goodness-of-fit
%% Cell type:markdown id:2b1a4872 tags:
The $\chi^2$ test is also used for comparing the distributions of a continuous variable for two samples (two groups) in a more general way than a $t$-test for independent samples.
The procedure consists in binning the continuous variable so that the problem can be formulated as a homogeneity test, with bins as the levels of one factor, and the grouping criterion as another factor.
As a consequence, we will also use the `chi2_contingency` function.
A similar test is the two-sample Kolmogorov-Smirnov test implemented as [ks_2samp](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ks_2samp.html).
%% Cell type:markdown id:141dc10b-c964-4621-9e53-32f36c11d2da tags:
## Correlation
%% Cell type:markdown id:6efe325b tags:
### Analyses of association (recap)
| Test | Types of variables |
| :-: | :-- |
| $\chi^2$ test<br />(ind./homo.) | categorical *vs* categorical |
| ANOVA | categorical (*e.g.* group) *vs* continuous (response) |
| ? | continuous *vs* continuous |
Note: frequencies in the $\chi^2$ tests are summary statistics and play the role of a sample size. They are NOT treated as measurements of a variable, although they could be, at another conceptual level (e.g. population of the bags of M&Ms).
%% Cell type:markdown id:344da42e-5707-4a0a-9b98-4cbf47781fbe tags:
### Correlation coefficient
%% Cell type:markdown id:0c8b61ee-e2da-4dc4-b3ad-02790d407d5b tags:
Pearson correlation coefficient of two series is the covariance of the two series normalized by the standard deviation of each series:
$$
\textrm{Var}(x) = \frac{1}{n-1}\sum_i (x_i - \bar{x})(x_i - \bar{x}) \\
\textrm{Cov}(x, y) = \frac{1}{n-1}\sum_i(x_i - \bar{x})(y_i - \bar{y}) \\
-1 \le \mbox{ } \mbox{ } \mbox{ } r(x, y) = \frac{\textrm{Cov}(x, y)}{\sqrt{\textrm{Var}(x)\textrm{Var}(y)}} \mbox{ } \mbox{ } \mbox{ } \le 1
$$
The [pearsonr](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.pearsonr.html) function computes the Pearson correlation coefficient together with a *p*-value:
%% Cell type:code id:f5a36568-d5b5-4388-b3f9-f38855c58c80 tags:
``` python
x1 = stats.norm.rvs(loc=46, scale=30, size=30)
x2 = stats.norm.rvs(loc=71, scale=30, size=30)
r, pv = stats.pearsonr(x1, x2)
r, pv
```
%% Cell type:markdown id:a9fbd953 tags:
The correlation coefficient is a commonly-used effect size for the linear relationship between the two variables, similarly to (but not to be confused with) a regression coefficient:
%% Cell type:code id:3581eeb0-f98d-4b2f-a0f1-bef073d86980 tags:
``` python
df = pd.DataFrame(dict(x1=x1, x2=x2))
sns.regplot(x="x1", y="x2", data=df);
```
%% Cell type:code id:730a1bd8-51b6-4c06-9431-9a0fce53c42c tags:
``` python
x2_correlated = x1 + 1.5 * np.std(x1) * np.random.randn(x1.size)
r, pv = stats.pearsonr(x1, x2_correlated)
r, pv
```
%% Cell type:code id:bfd1c00e-20b3-48bd-9724-7342ae70f626 tags:
``` python
df = pd.DataFrame(dict(x1=x1, x2=x2_correlated))
sns.regplot(x="x1", y="x2", data=df);
```
%% Cell type:markdown id:53338c9a-9345-4ead-8487-1b51254d7330 tags:
Pearson $r$ assumes the observations are drawn from normal distributions.
If the data are not normally distributed, Spearman $r$ ([spearmanr](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.spearmanr.html)) is an interesting alternative, although Pearson $r$ works well enough in most cases:
%% Cell type:code id:39423438-a688-4afa-b258-e17076ba1fbd tags:
``` python
rng = np.random.default_rng()
x1 = rng.integers(10, size=30)
x2 = x1 + rng.integers(10, size=x1.size)
# plus a few noisy observations
x1 = np.r_[x1, 9, 12]
x2 = np.r_[x2, 1, 2]
pearson_r, pearson_pv = stats.pearsonr(x1, x2)
spearman_r, spearman_pv = stats.spearmanr(x1, x2)
pearson_pv, spearman_pv
```
%% Cell type:code id:bca6551e-9ffb-4f60-8b96-9a085b2e2282 tags:
``` python
df = pd.DataFrame(dict(x=np.r_[x1, x2], series=np.r_[np.zeros_like(x1), np.ones_like(x2)]))
sns.countplot(x="x", data=df, hue="series");
```
%% Cell type:code id:a2dee6dc-0f17-4b33-9431-c6dc2d2bd418 tags:
``` python
df = pd.DataFrame(dict(x1=x1, x2=x2))
sns.regplot(x="x1", y="x2", data=df);
```
%% Cell type:markdown id:18902dd3-022a-447a-9681-6713b2e9296e tags:
What could possibly go wrong?
<table style="text-align: center;"><tr><td><img alt="Pearson vs Spearman" src="../images/Pearson_vs_Spearman.svg" width="1200px" /></td></tr>
<tr><td><a href="http://geoinfo.amu.edu.pl/qg/archives/2011/QG302_087-093.pdf">from Hauke &amp; Kossowski 2011</a></td></tr></table>
Because Pearson coefficient relies on squared differences, it is very sensitive to outliers.
On the other side, Spearman coefficient is based on ranks and may catch less intuitive patterns.
%% Cell type:markdown id:37816425 tags:
### Linear regression
%% Cell type:markdown id:8abb81b1 tags:
As previously said, the correlation is not directly related to the regression lines we constantly plot to illustrate the relationship a correlation coefficent is supposed to quantify.
The linear regression also offers an approach for quantifying an association between two quantitative variables.
%% Cell type:code id:fb9d664f tags:
``` python
slope, intercept, R, pvalue, slope_std_err = stats.linregress(x1, x2)
intercept, slope, pvalue
```
%% Cell type:markdown id:8cfc5265 tags:
The $p$-value returned by [linregress](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.linregress.html) is related to $H_0$: the slope is $0$.
If there is no slope, there is no association between the variables.
A linear regression is also a model that can predict the value of one variable from the value of the other variable:
%% Cell type:code id:7f69b66e tags:
``` python
x1_observed = 5
x2_predicted = intercept + slope * x1_observed
x2_predicted
```
%% Cell type:code id:14836378 tags:
``` python
x2_observed = 10
x1_predicted = (x2_observed - intercept) / slope
x1_predicted
```
%% Cell type:code id:51bff28b tags:
``` python
ax = sns.regplot(x=x1, y=x2)
x1_min, _ = ax.get_xlim()
x2_min, x2_max = ax.get_ylim()
ax.plot([x1_min, x1_observed, x1_observed], [x2_predicted, x2_predicted, x2_min], 'r:', linewidth=1)
ax.plot([x1_min, x1_predicted, x1_predicted], [x2_observed, x2_observed, x2_min], 'r:', linewidth=1)
ax.set_ylim([x2_min, x2_max])
ax.set_xlabel('x1')
ax.set_ylabel('x2');
```
%% Cell type:markdown id:9f26feda-d0fd-4d9d-a748-b0b82d0f84b4 tags:
## Effect sizes and test power
%% Cell type:markdown id:5d8555e2-f91e-4ed8-b518-d95b1f46aa11 tags:
`scipy.stats` does not offer any helper for effect size and power calculation.
The [`statsmodels`](https://www.statsmodels.org/dev/stats.html#power-and-sample-size-calculations) and `pingouin` ([1](https://pingouin-stats.org/api.html#effect-sizes) & [2](https://pingouin-stats.org/api.html#power-analysis)) libraries feature useful tools, therefore we will start using these libraries, which we will cover more extensively in the next session.
%% Cell type:code id:78c838fa-6eff-459a-867c-b9e930b0cebd tags:
``` python
import sys
!"{sys.executable}" -m pip install statsmodels pingouin
```
%% Cell type:code id:5eaf887e-9310-4b89-acca-ccde9dff5f02 tags:
``` python
from statsmodels.stats import power
import pingouin as pg
```
%% Cell type:markdown id:5532ddbe-202e-48f5-96fd-825c465a503f tags:
### Effect sizes
%% Cell type:markdown id:33eb7fcf-3c42-40bc-abb7-aba678a33eda tags:
An effect is worth reporting only if it can be quantified in terms of magnitude:
* for comparisons between group means, we need to know the actual difference(s) between these group means;
* for correlation or association studies, we want the strength of the correlations or associations, if any; etc.
The significance of an effect is reported as a $p$-value, but a $p$-value in itself is not a useful estimator of the magnitude of the effect.
Appart from the fact a $p$-value can be compared with a gold-standard significance level, it suffers from a major flaw: the lower its value, the less reliable it is.
For a very small $p$-value, a slight change in the value of one or more observations may lead to a dramatically different $p$-value.
In particular, $p$-values are not robust across the repetitions of an experiment.
As a side note, we may also face situations with very little measurement noise and find consistent differences (that happen to be statistically significant) that are very small and, consequently, of no practical interest.
Instead, we report the magnitude (or size) of the effect as a [measure](https://en.wikipedia.org/wiki/Effect_size) that can be admittedly translated into common language as "small", "medium", "large", etc, following some convention.
More about the [MAGIC criteria](https://en.wikipedia.org/wiki/MAGIC_criteria) for good measures of effect size.
For example, we have seen Cohen's $d$ that takes the difference between two group means (which itself already deserves to be reported) and standardize it dividing by the within group variance. Once calculated, we can refer to a [reference table](https://core.ecu.edu/wuenschk/docs30/EffectSizeConventions.pdf) (see also the table on this [webpage](https://www.statology.org/effect-size/)).
The most useful and comprehensive interface for effect sizes is featured by the `pingouin` library.
We can calculate the effect size for many different tests using [compute_effsize](https://pingouin-stats.org/generated/pingouin.compute_effsize.html) ([source](https://github.com/raphaelvallat/pingouin/blob/v0.4.0/pingouin/effsize.py#L553-L717)) and, for the tests that feature several effect size measures, we can convert from one measure to another using [convert_effsize](https://pingouin-stats.org/generated/pingouin.convert_effsize.html).
%% Cell type:code id:d934a53e-f2b5-423a-a101-21c69e1a472b tags:
``` python
x1 = np.array([49.47257879, 81.93967205, 64.030398, 17.25423608, 59.80082512,
94.56012514, 69.91672899, 12.39640637])
x2 = np.array([64.22723692, 96.56483856, 101.94191774, 85.31918879,
66.4952999, 63.88841224, 127.63861749, 55.00527005])
print(pg.compute_effsize(x1, x2, paired=False, eftype='cohen')) # unbiased Cohen's d
print(pg.convert_effsize(1.0486, 'cohen', 'hedges', nx=8, ny=8))
```
%% Cell type:markdown id:3b30414c-6575-4dff-9637-664cb0f29a5a tags:
### Power analysis
%% Cell type:markdown id:9b54a050-85cc-44c3-b406-650734d0d2ec tags:
Prior to collecting data, in the presence of preliminary data to roughly predict the expected effect size, one can estimate the sample size necessary for a test to detect such an effect.
This is done in a *power analysis*. Reminder: the power of a test is the probability of detecting an effect (rejecting $H_0$) when $H_0$ is false.
`statsmodels` features utilities for such analyses, for most of the tests previously mentioned.
* one-sample $t$-test: `TTestPower`
* $t$-test for independent samples: `TTestIndPower`
* $t$-test for dependent samples: `TTestPower`
* one-way ANOVA: `FTestAnovaPower`
* (one-sample) goodnes-of-fit $\chi^2$ test: `GofChisquarePower`
All classes, once initialized, feature a `plot_power` helper method for quickly inspecting the relationship between various parameters that are key in the design of a test:
%% Cell type:code id:de47ba11-f486-44e3-9f3b-9ddffacc95ee tags:
``` python
nobservations = np.arange(5, 30+1, 5)
power.TTestIndPower().plot_power(nobs=nobservations, effect_size=[0.3, 0.5, 0.8, 1.2])
plt.xticks(nobservations)
plt.axhline(0.8, color='r', linestyle=':', linewidth=1)
plt.xlim(nobservations[0], nobservations[-1]);
```
...@@ -28,7 +28,7 @@ def illustration_confidence_interval(m=46, s=1, alpha=0.05): ...@@ -28,7 +28,7 @@ def illustration_confidence_interval(m=46, s=1, alpha=0.05):
plt.axhline(0, color='k', linestyle=':', linewidth=1) plt.axhline(0, color='k', linestyle=':', linewidth=1)
plt.xlabel('population mean') plt.xlabel('population mean')
plt.ylabel('probability density') plt.ylabel('probability density')
plt.axvline(m, color='k', linestyle=':', linewidth=1, label='sample mean') plt.axvline(m, color='g', linestyle=':', linewidth=1, label='sample mean')
u = stats.norm().isf(alpha / 2) u = stats.norm().isf(alpha / 2)
ci_low = m - u * s ci_low = m - u * s
...@@ -40,14 +40,14 @@ def illustration_confidence_interval(m=46, s=1, alpha=0.05): ...@@ -40,14 +40,14 @@ def illustration_confidence_interval(m=46, s=1, alpha=0.05):
ml = (grid[0]+4*ci_low)/5 ml = (grid[0]+4*ci_low)/5
pl = (2*pdf(ci_low)+pdf(m))/3 pl = (2*pdf(ci_low)+pdf(m))/3
plt.annotate(f'${alpha/2*100}\%$', plt.annotate(f'${alpha/2*100}\\%$',
[ml, .1*pdf(ml)], [ml, pl], [ml, .1*pdf(ml)], [ml, pl],
arrowprops=dict(arrowstyle="->"), arrowprops=dict(arrowstyle="->"),
horizontalalignment='center') horizontalalignment='center')
ml1 = (4*m+ci_high)/5 ml1 = (4*m+ci_high)/5
ml2 = (m+ci_high)/2 ml2 = (m+ci_high)/2
plt.annotate(f'${(1-alpha)*100:.0f}\%$ prob. mass', plt.annotate(f'${(1-alpha)*100:.0f}\\%$ prob. mass',
[ml1, pl], [ml2, (pdf(ml2)+pdf(m))/2], [ml1, pl], [ml2, (pdf(ml2)+pdf(m))/2],
arrowprops=dict(arrowstyle="->")) arrowprops=dict(arrowstyle="->"))
...@@ -56,7 +56,7 @@ def illustration_confidence_interval(m=46, s=1, alpha=0.05): ...@@ -56,7 +56,7 @@ def illustration_confidence_interval(m=46, s=1, alpha=0.05):
width=line_width, head_length=head_length, linestyle='none') width=line_width, head_length=head_length, linestyle='none')
t = plt.arrow(ci_high-head_length, height, ci_low-ci_high+2*head_length, 0, t = plt.arrow(ci_high-head_length, height, ci_low-ci_high+2*head_length, 0,
width=line_width, head_length=head_length, linestyle='none') width=line_width, head_length=head_length, linestyle='none')
plt.text(m, height+line_width, f'${(1-alpha)*100:.0f}\%$ confidence interval', plt.text(m, height+line_width, f'${(1-alpha)*100:.0f}\\%$ confidence interval',
ha='center') ha='center')
plt.legend(loc='upper left') plt.legend(loc='upper left')
...@@ -76,7 +76,7 @@ def illustration_onesided_probabilitymass(z, N = stats.norm(0, 1), onesided_pval ...@@ -76,7 +76,7 @@ def illustration_onesided_probabilitymass(z, N = stats.norm(0, 1), onesided_pval
plt.xlim(grid[[0,-1]]) plt.xlim(grid[[0,-1]])
plt.xlabel('$X$') plt.xlabel('$X$')
plt.ylabel('probability density') plt.ylabel('probability density')
plt.legend([pdf_curve, z_line], ['$\mathcal{N}(0,1)$', '$z$']) plt.legend([pdf_curve, z_line], [r'$\mathcal{N}(0,1)$', '$z$'])
plt.annotate(f'$\\approx {onesided_pvalue:.2f}$', (1.8, .03), xytext=(2, .13), arrowprops=dict(arrowstyle="->")) plt.annotate(f'$\\approx {onesided_pvalue:.2f}$', (1.8, .03), xytext=(2, .13), arrowprops=dict(arrowstyle="->"))
def illustration_t_pdfs(): def illustration_t_pdfs():
...@@ -121,7 +121,7 @@ def illustration_skewness_kurtosis(): ...@@ -121,7 +121,7 @@ def illustration_skewness_kurtosis():
ax = axes[0] ax = axes[0]
for sigma, color in zip((.25, .5, 1), colors): for sigma, color in zip((.25, .5, 1), colors):
ax.plot(grid, skewed_dist(sigma, grid), '-', color=color, label=f'$\sigma={sigma:.2f}$') ax.plot(grid, skewed_dist(sigma, grid), '-', color=color, label=f'$\\sigma={sigma:.2f}$')
ax.axhline(0, linestyle='--', color='grey', linewidth=1) ax.axhline(0, linestyle='--', color='grey', linewidth=1)
ax.set_xlim(grid[[0,-1]]) ax.set_xlim(grid[[0,-1]])
...@@ -159,7 +159,7 @@ def illustration_chi2(): ...@@ -159,7 +159,7 @@ def illustration_chi2():
ax.axhline(0, linestyle='--', color='grey', linewidth=1) ax.axhline(0, linestyle='--', color='grey', linewidth=1)
ax.set_xlim(grid[0],grid[-1]) ax.set_xlim(grid[0],grid[-1])
ax.set_xlabel('$\chi^2$') ax.set_xlabel(r'$\chi^2$')
ax.set_ylabel('probability density') ax.set_ylabel('probability density')
ax.legend([ f'$df={df}$' for df in dfs ]) ax.legend([ f'$df={df}$' for df in dfs ])
...@@ -169,7 +169,7 @@ def illustration_chi2(): ...@@ -169,7 +169,7 @@ def illustration_chi2():
ax.plot(grid, chi2, '-', color=color) ax.plot(grid, chi2, '-', color=color)
ax.axhline(0, linestyle='--', color='grey', linewidth=1) ax.axhline(0, linestyle='--', color='grey', linewidth=1)
ax.set_xlim(grid[0],grid[-1]) ax.set_xlim(grid[0],grid[-1])
ax.set_xlabel('$\chi^2$') ax.set_xlabel(r'$\chi^2$')
ax.set_ylabel('probability density'); ax.set_ylabel('probability density');
A = [85, 86, 88, 75, 78, 94, 98, 79, 71, 80] A = [85, 86, 88, 75, 78, 94, 98, 79, 71, 80]
......
%% Cell type:markdown id:vocal-argument tags:
# <center><b>Course</b></center>
<div style="text-align:center">
<img src="../images/seaborn.png" width="600px">
<div>
Bertrand Néron, François Laurent, Etienne Kornobis
<br />
<a src=" https://research.pasteur.fr/en/team/bioinformatics-and-biostatistics-hub/">Bioinformatics and Biostatistiqucs HUB</a>
<br />
© Institut Pasteur, 2021
</div>
</div>
%% Cell type:markdown id:minute-stylus tags:
# A glimpse at Seaborn
%% Cell type:markdown id:monthly-royalty tags:
Seaborn is a Python data visualization library based on **Matplotlib**. It provides a high-level interface for drawing attractive and informative statistical graphics while still being able to use matplotlib features.
It is organized depending on the type of data you want to represent:
%% Cell type:markdown id:suffering-attendance tags:
<img src="../images/seaborn_plots.png" width="600px">
%% Cell type:markdown id:legislative-currency tags:
You can use the `relplot`, `displot`, `catplot` group functions or directly call the function corresponding to a specific plot.
%% Cell type:code id:apparent-logan tags:
``` python
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
```
%% Cell type:code id:3c569d0b-7cdc-4d33-b42b-67fd34bdf4ca tags:
``` python
import warnings
warnings.simplefilter(action='ignore', category=FutureWarning, lineno=1498)
warnings.simplefilter(action='ignore', category=UserWarning, lineno=118)
```
%% Cell type:markdown id:99f2823d-fbc0-44ff-958e-9ef35297307d tags:
## Simple plot with 2 variables (relplot)
%% Cell type:code id:96dbb85d-f996-4c73-9d51-da2699539ca0 tags:
``` python
temp = pd.read_csv("../data/fr_sp_it_temp.tsv", sep="\t", header=0, index_col=0)
temp.head()
```
%% Cell type:code id:a199f0f2-4f6d-4a1d-bbc7-bd47e826d3d2 tags:
``` python
paris = temp[temp.City == 'Paris']
paris.head()
```
%% Cell type:code id:e3985842-23f3-4ce8-ab5e-5cbd1d9ec2ee tags:
``` python
sns.relplot(data=paris, x="Year", y="Tmp")
```
%% Cell type:code id:7ec21722-b094-4052-bb99-0f9306684f8a tags:
``` python
sns.lineplot(data=paris, x="Year", y="Tmp")
```
%% Cell type:code id:885b9d4b-5543-40fb-a878-c171f68c60c9 tags:
``` python
sns.lineplot(data=paris, x="Year", y="Tmp", marker="o")
```
%% Cell type:code id:49c86b68-18d9-48ef-9812-fa114a54dafb tags:
``` python
sns.lineplot(data=paris, x="Year", y="Tmp", marker="o", linestyle="--", color="green")
```
%% Cell type:markdown id:d7039e35-0b13-4af8-b290-4533e4011d45 tags:
Seaborn is using matplotlib under the hood, so all available linestyles, markers and colors are described in https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html
%% Cell type:markdown id:b6c2f491-83b6-47d1-a01a-0c95551a0abd tags:
## Several plots
%% Cell type:code id:9ba40313-00ec-4af5-835f-53e8e8c8a3dd tags:
``` python
sns.lineplot(data=temp, x="Year", y="Tmp", hue="City")
```
%% Cell type:markdown id:8b1a4d48-39fe-4808-8d27-6fba456ada0f tags:
## Formatting
%% Cell type:markdown id:510057ce-aa3a-4ab2-9d60-fe1e4e901c4c tags:
### Annotations
%% Cell type:markdown id:5049f6ef-aff4-495e-9660-966ee4a96e13 tags:
In order to pretty format our graph, we can use matplotlib.pyplot (here `plt`) functionalities to control the legend, add title and x and y labels:
%% Cell type:code id:fd32ce6a-0d94-4e62-a09f-defb568cf00c tags:
``` python
sns.lineplot(data=temp, x="Year", y="Tmp", hue="City")
plt.legend(ncol=2)
plt.xlabel("Year")
plt.ylabel("Tp in °F")
plt.title("Average Temperature")
```
%% Cell type:markdown id:2691f293-228f-4670-b92b-81e0e1ac92e4 tags:
### xlim, ylim
%% Cell type:code id:b5a7a48d-fed8-4cac-86b3-7299ade9b3ac tags:
``` python
sns.lineplot(data=temp, x="Year", y="Tmp", hue="City")
plt.legend(ncol=2)
plt.xlabel("Year")
plt.ylabel("Tp in °F")
plt.title("Average Temperature")
plt.xlim([2000,2010])
plt.ylim([50,70])
```
%% Cell type:markdown id:bd7a6c33-6d57-4d92-a03b-a81b66ce6f4a tags:
### axvline, axhline
%% Cell type:code id:c35ab008-cb2b-4faa-b86a-b136fc349d5b tags:
``` python
sns.lineplot(data=temp, x="Year", y="Tmp", hue="City")
plt.legend(ncol=2)
plt.xlabel("Year")
plt.ylabel("Tp in °F")
plt.title("Average Temperature")
# Adding horizontal and vertical lines with an alpha parameter
plt.axvline(2008, color="grey", linestyle="--", alpha=0.5)
plt.axhline(55, color="grey", linestyle="-.", alpha=0.5)
```
%% Cell type:markdown id:ecological-memphis tags:
## Distribution plots
### Histograms and KDE plots
A histogram is displaying a frequency distribution of a **continuous** dataset using bars.
%% Cell type:code id:smooth-persian tags:
``` python
df = pd.read_csv("../data/titanic.csv")
```
%% Cell type:code id:brazilian-greene tags:
``` python
sns.displot(data=df, x="Age")
```
%% Cell type:markdown id:0e500391-b081-4e3f-a87b-014abd847f68 tags:
To overplot different distributions segregated by a categorical variable, you can use the `hue` parameter:
%% Cell type:code id:5cd0ce9b-288a-45c8-9b9e-769e75e1bd63 tags:
``` python
sns.displot(data=df, x="Age", hue="Survived")
```
%% Cell type:markdown id:3289632b-63f9-4e0a-841a-b17a7c42c506 tags:
#### Influence of bins
%% Cell type:code id:vietnamese-proceeding tags:
``` python
sns.displot(data=df, x="Age", hue="Survived", bins=50)
```
%% Cell type:code id:dd5a9532-82ee-4d71-bd0a-c3a24c0ec444 tags:
``` python
sns.displot(data=df, x="Age", hue="Survived", bins=10)
```
%% Cell type:markdown id:f23420fc-d840-4bd9-9763-74ef506b1c65 tags:
#### KDE curve
%% Cell type:markdown id:unknown-yacht tags:
Here is the corresponding continuous probability density curve (kde):
%% Cell type:code id:active-stephen tags:
``` python
sns.displot(data=df, x="Age", hue="Survived", kind="kde")
```
%% Cell type:code id:narrative-illinois tags:
``` python
sns.displot(data=df, x="Age", hue="Survived", kde=True)
```
%% Cell type:markdown id:floral-supervisor tags:
## Categorical plots
### Barplot
A barplot is a way of displaying for example counts, frequencies or averages for different categories.
%% Cell type:code id:about-participant tags:
``` python
sns.catplot(data=df, x="Sex", y="Age", kind="bar")
```
%% Cell type:markdown id:designing-deviation tags:
### Swarmplot
%% Cell type:code id:laughing-contributor tags:
``` python
sns.catplot(data=df, x="Pclass", y="Fare", kind="swarm")
```
%% Cell type:markdown id:polished-developer tags:
### Boxplot
Box plots visually show the distribution of numerical data and skewness through displaying the data quartiles (or percentiles) and averages.
Box plots show the five-number summary of a set of data: including the minimum score, first (lower) quartile, median, third (upper) quartile, and maximum score.
<div>
<img src="../images/boxplot_explanation.png" />
</div>
for more explanation visit
https://www.simplypsychology.org/boxplots.html
%% Cell type:code id:demographic-original tags:
``` python
sns.catplot(data=df, x="Pclass", y="Fare", kind="box")
```
%% Cell type:markdown id:27290d30-3c5d-4161-8cf8-0b0cb9f22654 tags:
### Violinplot
Sometimes the median and mean aren't enough to understand a dataset. Are most of the values clustered around the median? Or are they clustered around the minimum and the maximum with nothing in the middle? When you have questions like these, distribution plots are your friends.
The box plot is an old standby for visualizing basic distributions. It's convenient for comparing summary statistics (such as range and quartiles), but it doesn't let you see variations in the data. For multimodal distributions (those with multiple peaks) this can be particularly limiting.
But fret not—this is where the violin plot comes in. A violin plot is a hybrid of a box plot and a kernel density plot, which shows peaks in the data.
formore explanation visit: https://mode.com/blog/violin-plot-examples/
%% Cell type:code id:359478ff-ec41-43b4-87fe-227e93e2d41f tags:
``` python
sns.catplot(data=df, x="Pclass", y="Fare", kind="violin")
```
%% Cell type:markdown id:facial-spell tags:
## Scatterplot
A scatter plot (aka scatter chart, scatter graph) uses dots to represent values for two different numeric variables. The position of each dot on the horizontal and vertical axis indicates values for an individual data point. Scatter plots are used to observe relationships between variables.
https://chartio.com/learn/charts/what-is-a-scatter-plot/
%% Cell type:code id:academic-kazakhstan tags:
``` python
sns.scatterplot(data=df, x="Age", y="Fare", hue="Sex", size="Pclass", alpha=0.5)
```
%% Cell type:markdown id:differential-sauce tags:
## Heatmap
%% Cell type:code id:mighty-barrier tags:
``` python
uniform_data = np.random.rand(5, 5)
sns.heatmap(uniform_data, vmin=0, vmax=1)
```
%% Cell type:code id:0f988aac-b37a-4163-917c-03597e74b8b4 tags:
``` python
sns.heatmap(uniform_data, vmin=0, vmax=1, annot=True)
```
%% Cell type:markdown id:8fc43d40-d07b-4052-9579-fc0e93d621d1 tags:
## How to make subplots (Matplotlib)
We can pack several plots in a figure.
There is several way to do that, here we describe the *pyplot.subplots* function
> https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.subplots.html
When using seaborn plotting function the high level catplot, displot and relplot methods will not work with subplots. You should be specific and use the lower level methods such as histplot, boxplot etc...
%% Cell type:code id:f57d267f-bcc4-4ed2-8aa1-557fe666ccce tags:
``` python
fig, axs = plt.subplots(2,2, figsize=(9,7)) # 2 rows, 2 columns
sns.histplot(data=df, x="Age", hue="Survived", kde=True, ax=axs[0,0], palette=["grey", "black"])
sns.boxplot(data=df, x="Pclass", y="Fare", ax=axs[0,1], palette=["lightgreen", "green", "darkgreen"])
sns.barplot(data=df, x="Sex", y="Age", ax=axs[1,0])
sns.scatterplot(data=df, x="Age", y="Fare", hue="Sex", size="Pclass", alpha=0.5, ax=axs[1,1])
```
%% Cell type:code id:bf1edc04-10a3-4c3c-8c6c-072594953bf6 tags:
``` python
# More complex visualisations can be incorporated in a function
def titanic_graph():
fig, axs = plt.subplots(2,2, figsize=(9,7)) # 2 rows, 2 columns
sns.histplot(data=df, x="Age", hue="Survived", kde=True, ax=axs[0,0], palette=["grey", "black"])
sns.boxplot(data=df, x="Pclass", y="Fare", ax=axs[0,1], palette=["lightgreen", "green", "darkgreen"])
sns.barplot(data=df, x="Sex", y="Age", ax=axs[1,0])
sns.scatterplot(data=df, x="Age", y="Fare", hue="Sex", size="Pclass", alpha=0.5, ax=axs[1,1])
```
%% Cell type:code id:05bdefdd-8474-4241-a9a3-be576adbc941 tags:
``` python
titanic_graph()
```
%% Cell type:markdown id:07f3defa-f36d-4bf2-a7ae-5c05e4190412 tags:
## Saving figures (Matplotlib)
%% Cell type:code id:1c0c03bc-f3f4-4a62-ae30-fedd26e5ec46 tags:
``` python
titanic_graph()
plt.savefig("titanic_visualization.pdf")
```