Skip to content

Commit 5016db0

Browse files
authored
Merge pull request #10 from calculquebec/rev/h26/chap2
Révision du chapitre 2 selon le feedback H26
2 parents 3fb24de + db46c7e commit 5016db0

1 file changed

Lines changed: 34 additions & 98 deletions

File tree

src/02-selection.ipynb

Lines changed: 34 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -250,70 +250,6 @@
250250
"surveys_df.loc[[0, 10], :]"
251251
]
252252
},
253-
{
254-
"cell_type": "code",
255-
"execution_count": null,
256-
"id": "2e2d84c1-c559-4302-94ff-ff1a31fcf43b",
257-
"metadata": {
258-
"lang": "fr",
259-
"tags": [
260-
"soln"
261-
]
262-
},
263-
"outputs": [],
264-
"source": [
265-
"# Erreur 1 - Qu'arrive-t-il si on exécute le code ci-dessous?\n",
266-
"surveys_df.loc[[0, 10, 35548], :]"
267-
]
268-
},
269-
{
270-
"cell_type": "code",
271-
"execution_count": null,
272-
"id": "384110f3-b095-48f5-85bc-646a8f7ea029",
273-
"metadata": {
274-
"lang": "fr",
275-
"tags": [
276-
"exer"
277-
]
278-
},
279-
"outputs": [],
280-
"source": [
281-
"# Erreur 1 - Qu'arrive-t-il si on exécute le code ci-dessous?\n",
282-
"surveys_df.loc[[0, 10, 35549], :]"
283-
]
284-
},
285-
{
286-
"cell_type": "code",
287-
"execution_count": null,
288-
"id": "20a4e3b6-56e1-4ba2-a177-9c273ff08e9b",
289-
"metadata": {
290-
"lang": "en",
291-
"tags": [
292-
"soln"
293-
]
294-
},
295-
"outputs": [],
296-
"source": [
297-
"# Error 1 - What happens when you type the code below?\n",
298-
"surveys_df.loc[[0, 10, 35548], :]"
299-
]
300-
},
301-
{
302-
"cell_type": "code",
303-
"execution_count": null,
304-
"id": "7643732e-f87e-4be8-90d7-6b40d139c32c",
305-
"metadata": {
306-
"lang": "en",
307-
"tags": [
308-
"exer"
309-
]
310-
},
311-
"outputs": [],
312-
"source": [
313-
"# Error 1 - What happens when you type the code below?\n",
314-
"surveys_df.loc[[0, 10, 35549], :]"
315-
]
316-
},
317253
{
318254
"cell_type": "code",
319255
"execution_count": null,
@@ -326,7 +262,7 @@
326262
},
327263
"outputs": [],
328264
"source": [
329-
"# Erreur 2 - Qu'arrive-t-il si on exécute le code ci-dessous?\n",
265+
"# Erreur - Qu'arrive-t-il si on exécute le code ci-dessous?\n",
330266
"surveys_df.loc[0:4, 'month':'plot_id']"
331267
]
332268
},
@@ -342,7 +278,7 @@
342278
},
343279
"outputs": [],
344280
"source": [
345-
"# Erreur 2 - Qu'arrive-t-il si on exécute le code ci-dessous?\n",
281+
"# Erreur - Qu'arrive-t-il si on exécute le code ci-dessous?\n",
346282
"surveys_df.loc[0:4, 1:4] # 'month':'plot_id'"
347283
]
348284
},
@@ -358,7 +294,7 @@
358294
},
359295
"outputs": [],
360296
"source": [
361-
"# Error 2 - What happens when you type the code below?\n",
297+
"# Error - What happens when you type the code below?\n",
362298
"surveys_df.loc[0:4, 'month':'plot_id']"
363299
]
364300
},
@@ -374,7 +310,7 @@
374310
},
375311
"outputs": [],
376312
"source": [
377-
"# Error 2 - What happens when you type the code below?\n",
313+
"# Error - What happens when you type the code below?\n",
378314
"surveys_df.loc[0:4, 1:4] # 'month':'plot_id'"
379315
]
380316
},
@@ -387,10 +323,10 @@
387323
"source": [
388324
"### Exercice - Une sélection de données\n",
389325
"Obtenez la moyenne des **longueurs d'arrière-pieds** et\n",
390-
"des **poids** de chaque **espèce** de `'NL'` à `'PB'` :\n",
326+
"des **poids** pour les **espèces** `'NL'` et `'PB'` :\n",
391327
"\n",
392328
"1. Commencez par sélectionner uniquement les colonnes requises.\n",
393-
"2. À la fin, sélectionnez les lignes de `'NL'` à `'PB'`.\n",
329+
"2. À la fin, sélectionnez les lignes `'NL'` et `'PB'`.\n",
394330
"\n",
395331
"(3 min.)"
396332
]
@@ -404,10 +340,10 @@
404340
"source": [
405341
"### Exercise - Selecting data\n",
406342
"Get the average **hindfoot lengths** and\n",
407-
"**weights** of each **species** from `'NL'` to `'PB'`:\n",
343+
"**weights** for the **species** `'NL'` and `'PB'`:\n",
408344
"\n",
409345
"1. Start by selecting only the required columns.\n",
410-
"2. At the end, select the rows from `'NL'` to `'PB'`.\n",
346+
"2. At the end, select the rows for `'NL'` and `'PB'`.\n",
411347
"\n",
412348
"(3 min.)"
413349
]
@@ -425,7 +361,7 @@
425361
"outputs": [],
426362
"source": [
427363
"colonnes = ['species_id', 'hindfoot_length', 'weight']\n",
428-
"surveys_df[colonnes].groupby('species_id').mean().loc['NL':'PB', :]"
364+
"surveys_df[colonnes].groupby('species_id').mean().loc[['NL', 'PB'], :]"
429365
]
430366
},
431367
{
@@ -457,7 +393,7 @@
457393
"outputs": [],
458394
"source": [
459395
"columns = ['species_id', 'hindfoot_length', 'weight']\n",
460-
"surveys_df[columns].groupby('species_id').mean().loc['NL':'PB', :]"
396+
"surveys_df[columns].groupby('species_id').mean().loc[['NL', 'PB'], :]"
461397
]
462398
},
463399
{
@@ -658,7 +594,7 @@
658594
" (surveys_df['year'] == 1991) |\n",
659595
" (surveys_df['year'] == 1996) |\n",
660596
" (surveys_df['year'] == 2001)\n",
661-
"].shape"
597+
"]"
662598
]
663599
},
664600
{
@@ -675,7 +611,7 @@
675611
" (surveys_df['year'] == 1991) |\n",
676612
" (surveys_df['year'] == 1996) |\n",
677613
" (surveys_df['year'] == 2001)\n",
678-
"].shape"
614+
"]"
679615
]
680616
},
681617
{
@@ -690,7 +626,7 @@
690626
"# Sélection de trois années avec isin()\n",
691627
"surveys_df[\n",
692628
" surveys_df['year'].isin([1991, 1996, 2001])\n",
693-
"].shape"
629+
"]"
694630
]
695631
},
696632
{
@@ -705,7 +641,7 @@
705641
"# Selection of three years with isin()\n",
706642
"surveys_df[\n",
707643
" surveys_df['year'].isin([1991, 1996, 2001])\n",
708-
"].shape"
644+
"]"
709645
]
710646
},
711647
{
@@ -870,11 +806,11 @@
870806
},
871807
"source": [
872808
"`2`. Calculez la moyenne des poids\n",
873-
"selon le site (`plot_id`) et le sexe :\n",
809+
"selon l'espèce (`species_id`) et le sexe :\n",
874810
"* Créez une sélection contenant seulement :\n",
875811
" * Les observations ayant une valeur de sexe `F` ou `M`\n",
876812
" et ayant un poids supérieur à `0`;\n",
877-
" * Les colonnes de poids, de site et de sexe.\n",
813+
" * Les colonnes de poids, d'espèce et de sexe.\n",
878814
"* Groupez les données et calculez les moyennes de poids.\n",
879815
"\n",
880816
"(5 min.)"
@@ -887,11 +823,11 @@
887823
"lang": "en"
888824
},
889825
"source": [
890-
"`2`. Get the average weight by site (`plot_id`) and sex:\n",
826+
"`2`. Get the average weight by species (`species_id`) and sex:\n",
891827
"* Create a selection that contains only:\n",
892828
" * The observations that are of sex `F` or `M`\n",
893829
" and where weight values are greater than `0`;\n",
894-
" * The weight, the site and the sex columns.\n",
830+
" * The weight, the species and the sex columns.\n",
895831
"* Group the data and compute the average weights.\n",
896832
"\n",
897833
"(5 min.)"
@@ -912,7 +848,7 @@
912848
"# Sélection des enregistrements et des colonnes nécessaires\n",
913849
"cond_sexe = surveys_df['sex'].isin(['F', 'M'])\n",
914850
"cond_poids = surveys_df['weight'] > 0\n",
915-
"colonnes = ['weight', 'plot_id', 'sex']\n",
851+
"colonnes = ['weight', 'species_id', 'sex']\n",
916852
"\n",
917853
"selection = surveys_df.loc[cond_sexe & cond_poids, colonnes]\n",
918854
"selection.tail()"
@@ -933,7 +869,7 @@
933869
"# Sélection des enregistrements et des colonnes nécessaires\n",
934870
"cond_sexe = surveys_df['sex'].isin(['F', 'M'])\n",
935871
"cond_poids = surveys_df['weight'] ###\n",
936-
"colonnes = ['weight', 'plot_id', 'sex']\n",
872+
"colonnes = ['weight', 'species_id', 'sex']\n",
937873
"\n",
938874
"selection = surveys_df###\n",
939875
"selection.tail()"
@@ -954,7 +890,7 @@
954890
"# Selection of the data with isin()\n",
955891
"sex_mask = surveys_df['sex'].isin(['F', 'M'])\n",
956892
"weight_mask = surveys_df['weight'] > 0\n",
957-
"columns = ['weight', 'plot_id', 'sex']\n",
893+
"columns = ['weight', 'species_id', 'sex']\n",
958894
"\n",
959895
"selection = surveys_df.loc[sex_mask & weight_mask, columns]\n",
960896
"selection.tail()"
@@ -975,7 +911,7 @@
975911
"# Selection of the data with isin()\n",
976912
"sex_mask = surveys_df['sex'].isin(['F', 'M'])\n",
977913
"weight_mask = surveys_df['weight'] ###\n",
978-
"columns = ['weight', 'plot_id', 'sex']\n",
914+
"columns = ['weight', 'species_id', 'sex']\n",
979915
"\n",
980916
"selection = surveys_df###\n",
981917
"selection.tail()"
@@ -993,9 +929,9 @@
993929
},
994930
"outputs": [],
995931
"source": [
996-
"# Grouper selon les sites et les sexes, calculer les moyennes\n",
997-
"moy_par_site_sexe = selection.groupby(['plot_id', 'sex']).mean()\n",
998-
"moy_par_site_sexe.tail()"
932+
"# Grouper selon les espèces et les sexes, calculer les moyennes\n",
933+
"moy_par_espece_sexe = selection.groupby(['species_id', 'sex']).mean()\n",
934+
"moy_par_espece_sexe.tail()"
999935
]
1000936
},
1001937
{
@@ -1010,9 +946,9 @@
1010946
},
1011947
"outputs": [],
1012948
"source": [
1013-
"# Grouper selon les sites et les sexes, calculer les moyennes\n",
1014-
"moy_par_site_sexe = selection###\n",
1015-
"moy_par_site_sexe.tail()"
949+
"# Grouper selon les espèces et les sexes, calculer les moyennes\n",
950+
"moy_par_espece_sexe = ###.groupby(['species_id', 'sex']).mean()\n",
951+
"moy_par_espece_sexe.tail()"
1016952
]
1017953
},
1018954
{
@@ -1027,9 +963,9 @@
1027963
},
1028964
"outputs": [],
1029965
"source": [
1030-
"# Calculate the mean weight for each plot_id and sex combination: \n",
1031-
"avg_by_site_sex = selection.groupby(['plot_id', 'sex']).mean()\n",
1032-
"avg_by_site_sex.tail()"
966+
"# Calculate the mean weight for each species_id and sex combination\n",
967+
"avg_by_species_sex = selection.groupby(['species_id', 'sex']).mean()\n",
968+
"avg_by_species_sex.tail()"
1033969
]
1034970
},
1035971
{
@@ -1044,9 +980,9 @@
1044980
},
1045981
"outputs": [],
1046982
"source": [
1047-
"# Calculate the mean weight for each plot_id and sex combination: \n",
1048-
"avg_by_site_sex = selection###\n",
1049-
"avg_by_site_sex.tail()"
983+
"# Calculate the mean weight for each species_id and sex combination\n",
984+
"avg_by_species_sex = ###.groupby(['species_id', 'sex']).mean()\n",
985+
"avg_by_species_sex.tail()"
1050986
]
1051987
},
1052988
{

0 commit comments

Comments
 (0)