Séance 4
import pandas
df = pandas.read_excel("Donnees_M2_RD.xlsx")
dist_i_m = pandas.DataFrame(
{ "Dist_I_m": [ 0.2, 0.3, 0.4, 0.6, 0.8 ] },
index = [1,2,3,4,5]
)
dist_i_m
|
Dist_I_m |
1 |
0.2 |
2 |
0.3 |
3 |
0.4 |
4 |
0.6 |
5 |
0.8 |
dist_e_m = pandas.DataFrame(
{ "Dist_E_m": [ 2, 3, 4, 6, 8 ] },
index = [1,2,3,4,5]
)
dist_e_m
|
Dist_E_m |
1 |
2 |
2 |
3 |
3 |
4 |
4 |
6 |
5 |
8 |
df_e = df[df['Space'] == 'E']
df1 = pandas.merge(df_e, dist_e_m, left_on='Dist_A', right_index=True)
df2 = df1.rename(columns={ 'Dist_E_m': 'Dist_A_m' })
df3 = pandas.merge(df2, dist_e_m, left_on='Dist_B', right_index=True)
df_e_m = df3.rename(columns={ 'Dist_E_m': 'Dist_B_m' })
df_e_m
|
Subject |
Name_A |
Name_B |
Dist_A |
Dist_B |
Mode |
Space |
Side |
Response |
RT |
Dist_A_m |
Dist_B_m |
0 |
P_ADI_331 |
0 |
2 |
2 |
4 |
Dic |
E |
D |
2 |
18865 |
3 |
6 |
4 |
P_ADI_331 |
1 |
2 |
2 |
4 |
Dic |
E |
D |
1 |
11801 |
3 |
6 |
7 |
P_ADI_331 |
0 |
3 |
2 |
4 |
Dic |
E |
D |
1 |
13237 |
3 |
6 |
36 |
P_ADI_331 |
3 |
1 |
2 |
4 |
Dic |
E |
D |
1 |
9523 |
3 |
6 |
51 |
P_ADI_331 |
2 |
4 |
2 |
4 |
Dio |
E |
G |
1 |
11331 |
3 |
6 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
9364 |
P_VAR_330 |
1 |
0 |
5 |
2 |
Dic |
E |
D |
2 |
8296 |
8 |
3 |
9374 |
P_VAR_330 |
2 |
1 |
5 |
2 |
Dic |
E |
D |
2 |
12260 |
8 |
3 |
9412 |
P_VAR_330 |
4 |
3 |
5 |
2 |
Dio |
E |
D |
2 |
9414 |
8 |
3 |
9433 |
P_VAR_330 |
3 |
1 |
5 |
2 |
Dio |
E |
D |
2 |
16334 |
8 |
3 |
9437 |
P_VAR_330 |
1 |
2 |
5 |
2 |
Dio |
E |
D |
1 |
8802 |
8 |
3 |
4797 rows × 12 columns
df_i = df[df['Space'] == 'I']
df1 = pandas.merge(df_i, dist_i_m, left_on='Dist_A', right_index=True)
df2 = df1.rename(columns={ 'Dist_I_m': 'Dist_A_m' })
df3 = pandas.merge(df2, dist_i_m, left_on='Dist_B', right_index=True)
df_i_m = df3.rename(columns={ 'Dist_I_m': 'Dist_B_m' })
df_i_m
|
Subject |
Name_A |
Name_B |
Dist_A |
Dist_B |
Mode |
Space |
Side |
Response |
RT |
Dist_A_m |
Dist_B_m |
150 |
P_ADI_331 |
2 |
3 |
3 |
4 |
Dic |
I |
D |
2 |
14608 |
0.4 |
0.6 |
180 |
P_ADI_331 |
4 |
3 |
3 |
4 |
Dic |
I |
D |
1 |
9086 |
0.4 |
0.6 |
207 |
P_ADI_331 |
4 |
2 |
3 |
4 |
Dic |
I |
G |
1 |
7251 |
0.4 |
0.6 |
213 |
P_ADI_331 |
0 |
4 |
3 |
4 |
Dic |
I |
G |
1 |
9298 |
0.4 |
0.6 |
250 |
P_ADI_331 |
1 |
0 |
3 |
4 |
Dio |
I |
D |
1 |
11246 |
0.4 |
0.6 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
9498 |
P_VAR_330 |
4 |
2 |
4 |
3 |
Dic |
I |
G |
2 |
4811 |
0.6 |
0.4 |
9503 |
P_VAR_330 |
3 |
0 |
4 |
3 |
Dic |
I |
G |
2 |
6628 |
0.6 |
0.4 |
9526 |
P_VAR_330 |
0 |
1 |
4 |
3 |
Dic |
I |
G |
2 |
5458 |
0.6 |
0.4 |
9535 |
P_VAR_330 |
2 |
4 |
4 |
3 |
Dic |
I |
G |
1 |
8956 |
0.6 |
0.4 |
9546 |
P_VAR_330 |
2 |
3 |
4 |
3 |
Dio |
I |
D |
2 |
13525 |
0.6 |
0.4 |
4797 rows × 12 columns
df_m = pandas.concat([df_e_m,df_i_m])
df_m
|
Subject |
Name_A |
Name_B |
Dist_A |
Dist_B |
Mode |
Space |
Side |
Response |
RT |
Dist_A_m |
Dist_B_m |
0 |
P_ADI_331 |
0 |
2 |
2 |
4 |
Dic |
E |
D |
2 |
18865 |
3.0 |
6.0 |
4 |
P_ADI_331 |
1 |
2 |
2 |
4 |
Dic |
E |
D |
1 |
11801 |
3.0 |
6.0 |
7 |
P_ADI_331 |
0 |
3 |
2 |
4 |
Dic |
E |
D |
1 |
13237 |
3.0 |
6.0 |
36 |
P_ADI_331 |
3 |
1 |
2 |
4 |
Dic |
E |
D |
1 |
9523 |
3.0 |
6.0 |
51 |
P_ADI_331 |
2 |
4 |
2 |
4 |
Dio |
E |
G |
1 |
11331 |
3.0 |
6.0 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
9498 |
P_VAR_330 |
4 |
2 |
4 |
3 |
Dic |
I |
G |
2 |
4811 |
0.6 |
0.4 |
9503 |
P_VAR_330 |
3 |
0 |
4 |
3 |
Dic |
I |
G |
2 |
6628 |
0.6 |
0.4 |
9526 |
P_VAR_330 |
0 |
1 |
4 |
3 |
Dic |
I |
G |
2 |
5458 |
0.6 |
0.4 |
9535 |
P_VAR_330 |
2 |
4 |
4 |
3 |
Dic |
I |
G |
1 |
8956 |
0.6 |
0.4 |
9546 |
P_VAR_330 |
2 |
3 |
4 |
3 |
Dio |
I |
D |
2 |
13525 |
0.6 |
0.4 |
9594 rows × 12 columns
df.groupby(by=‘Subject’).max()
Donner le temps de réaction maximal par sujet.
Donner le temps de réaction moyen par premier nom (Name_a).
Donner le temps de réaction moyen selon la distance en mètres du premier prénom prononcé.
Donner le sujet ayant le plus faible temps de réaction moyen (utiliser .idxmin()).
df.groupby(by='Subject').max()['RT']
df.groupby(by='Name_A').mean()['RT']
df_m.groupby(by='Dist_A_m').mean()['RT']
df.groupby(by='Subject').mean()['RT'].idxmin()
'P_CON_336'