|
254 | 254 | "execution_count": null, |
255 | 255 | "id": "f2b0fb1d-0a90-47d1-b016-caf51a192033", |
256 | 256 | "metadata": { |
257 | | - "lang": "fr" |
| 257 | + "lang": "en,fr" |
258 | 258 | }, |
259 | 259 | "outputs": [], |
260 | 260 | "source": [ |
261 | | - "premiers10.columns" |
| 261 | + "surveys_df.columns" |
262 | 262 | ] |
263 | 263 | }, |
264 | 264 | { |
|
302 | 302 | }, |
303 | 303 | "outputs": [], |
304 | 304 | "source": [ |
| 305 | + "premiers10 = surveys_df.head(10)\n", |
| 306 | + "\n", |
305 | 307 | "# Calculer l'intersection de premiers10 et trois_especes\n", |
306 | 308 | "cle = 'species_id'\n", |
307 | 309 | "intersection = pd.merge(left=premiers10, right=trois_especes,\n", |
|
390 | 392 | "source": [ |
391 | 393 | "## Exercice - Joindre toutes les données\n", |
392 | 394 | "`1`. Créez un nouveau DataFrame tel que tous les\n", |
393 | | - "enregistrements de `surveys.csv` sont gardés dans une jonction\n", |
| 395 | + "enregistrements de `surveys_df` sont gardés dans une jonction\n", |
394 | 396 | "impliquant les informations correspondantes de `species.csv`.\n", |
395 | 397 | "(3 min.)" |
396 | 398 | ] |
|
421 | 423 | "lang": "fr" |
422 | 424 | }, |
423 | 425 | "source": [ |
424 | | - "`2`. Calculez et créez un graphique (*bar-plot*) montrant\n", |
425 | | - "le nombre d'enregistrements (soit le nombre de `record_id`)\n", |
426 | | - "par type de `taxa` pour chaque site (`plot_id`). (3 min.)" |
| 426 | + "`2`. Calculez et créez un graphique montrant l'évolution de la\n", |
| 427 | + "longueur moyenne des arrière-pieds (`'hindfoot_length'`) pour\n", |
| 428 | + "chaque genre d'espèce (`'genus'`) d'une année à l'autre. (3 min.)" |
427 | 429 | ] |
428 | 430 | }, |
429 | 431 | { |
|
438 | 440 | }, |
439 | 441 | "outputs": [], |
440 | 442 | "source": [ |
441 | | - "par_site_taxa = jonc_gauche###\n", |
442 | | - "nb_par_site_taxa = par_site_taxa['record_id']###\n", |
443 | | - "nb_par_site_taxa.tail()" |
| 443 | + "longueurs_moyennes = jonc_gauche.###(\n", |
| 444 | + " ###)['hindfoot_length']###\n", |
| 445 | + "longueurs_moyennes.tail()" |
444 | 446 | ] |
445 | 447 | }, |
446 | 448 | { |
|
452 | 454 | }, |
453 | 455 | "outputs": [], |
454 | 456 | "source": [ |
455 | | - "nb_par_site_taxa.plot(kind='bar', logy=True)" |
| 457 | + "longueurs_moyennes.plot(kind='line')" |
456 | 458 | ] |
457 | 459 | }, |
458 | 460 | { |
|
462 | 464 | "lang": "fr" |
463 | 465 | }, |
464 | 466 | "source": [ |
465 | | - "`3`. Calculez et créez un graphique (bar-plot) montrant le nombre\n", |
466 | | - "de différents `taxa` par type de sexe pour chaque site (`plot_id`).\n", |
| 467 | + "`3`. Calculez et créez un graphique (*bar-plot*) montrant\n", |
| 468 | + "le poids moyen selon le sexe pour chaque genre d'espèce.\n", |
| 469 | + "Pour cet exercice, nous allons utiliser une\n", |
| 470 | + "table de pivot à la place de `unstack()`.\n", |
467 | 471 | "(2 min.)" |
468 | 472 | ] |
469 | 473 | }, |
470 | | - { |
471 | | - "cell_type": "code", |
472 | | - "execution_count": null, |
473 | | - "id": "fdc14b08-d825-44d1-a87b-480d8b5f2304", |
474 | | - "metadata": { |
475 | | - "lang": "fr" |
476 | | - }, |
477 | | - "outputs": [], |
478 | | - "source": [ |
479 | | - "# Nettoyage des données\n", |
480 | | - "jonc_gauche['sex'] = jonc_gauche['sex'].fillna('F|M')\n", |
481 | | - "invalides = ~jonc_gauche['sex'].isin(['F', 'F|M', 'M'])\n", |
482 | | - "jonc_gauche.loc[invalides, 'sex'] = 'F|M'" |
483 | | - ] |
484 | | - }, |
485 | 474 | { |
486 | 475 | "cell_type": "code", |
487 | 476 | "execution_count": null, |
|
494 | 483 | }, |
495 | 484 | "outputs": [], |
496 | 485 | "source": [ |
497 | | - "ntaxa_sex_site = jonc_gauche.groupby(\n", |
498 | | - " ['plot_id', 'sex'])[###].nunique()#.reset_index(level=1)\n", |
499 | | - "ntaxa_sex_site.tail()" |
| 486 | + "poids_par_genre_sexe = jonc_gauche.groupby(\n", |
| 487 | + " ['genus', 'sex'])['weight'].###()#.reset_index()\n", |
| 488 | + "poids_par_genre_sexe.tail()" |
500 | 489 | ] |
501 | 490 | }, |
502 | 491 | { |
|
509 | 498 | "outputs": [], |
510 | 499 | "source": [ |
511 | 500 | "# Utiliser pivot_table() au lieu de unstack()\n", |
512 | | - "pivot_taxa_sex_site = ntaxa_sex_site.pivot_table(\n", |
513 | | - " values='taxa', columns='sex', index=ntaxa_sex_site.index)\n", |
514 | | - "pivot_taxa_sex_site.tail()" |
| 501 | + "pivot_weight_genus_sex = poids_par_genre_sexe.pivot_table(\n", |
| 502 | + " values='weight', index='genus', columns='sex')\n", |
| 503 | + "pivot_weight_genus_sex" |
515 | 504 | ] |
516 | 505 | }, |
517 | 506 | { |
|
523 | 512 | }, |
524 | 513 | "outputs": [], |
525 | 514 | "source": [ |
526 | | - "pivot_taxa_sex_site.plot(kind=\"bar\")" |
| 515 | + "pivot_weight_genus_sex.plot(kind=\"bar\")" |
527 | 516 | ] |
528 | 517 | }, |
529 | 518 | { |
|
0 commit comments