Les variables mixtes sont celles dont les valeurs contiennent à la fois des chiffres et des étiquettes.
Les variables peuvent être mélangées pour diverses raisons.
Dans notre fichiers les variables de Musique sont un exemple typique. On mélange la spécialité avec la position à l’arrivée.
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('../exportfeature.csv',parse_dates=['date'],infer_datetime_format=True,dayfirst=True,sep=";",encoding='ANSI')
data.head()
id place rapport date M1 M2 M3 M4 allocation Hippodrome nbPartants idHippodrome nDistance nAllocation idFerrure idJockey nbPartants.1 rPoids idOeillere iCote
0 56005 1 1.3 2016-01-01 3a 3m Da 3a 90000.0 Vincennes 17 Vincennes 2100 95000 0 18 17 0 0 12
1 98833 1 2.2 2016-01-01 3a 9Da 5a 4a 70000.0 Vincennes 18 Vincennes 2700 58000 1 30 18 0 0 12
2 98834 0 0.0 2016-01-01 1a Da Da 1a 44000.0 Vincennes 12 Vincennes 2850 37000 0 53 10 0 0 9
3 98835 1 1.5 2016-01-01 Da 7a 4a 2a 40000.0 Vincennes 11 Vincennes 2200 38000 2 143 13 0 0 4
4 98836 0 0.0 2016-01-01 1a 7a 10a 11a 40000.0 Vincennes 16 Vincennes 2700 34000 0 50 17 0 0 8
#Dimensions de notre dataset
data.shape
(20504, 20)
# Quelles sont les différentes valeurs de la musique ?
data.M1.unique()
array(['3a', '1a', 'Da', '8a', '2a', '9a', '4a', '5a', '10a', 'Aa', 'Dm',
'13a', '7a', '6m', '11a', '6a', '2Da', '0a', '1Disqa', '10m', '3m',
'3Da', '14a', '5m', '4Dista', '1m', '1Dista', '2Dm', '4Da', '15a',
'1Da', '10Dista', '3Dista', '5Da', '4m', '6Da', '12a', '0m', '2m',
'7Da', '8m', '2Dista', 'Rpa', '9m', '7m', '4Disqa', 'Dista',
'7Dista', '4Distm', '2Dpga', '6Dista', '5Dista', '1Dpga', '1Dm',
'Am', 'Ta', '16a', '17a', '8Dista', '2Disqa', 'Dpga', '12m', '3Dm',
'11m', '3Dpga', '9Da', '8Dm'], dtype=object)
# Les 10 fréquences plus plus élevées pour la variable M1
data['M1'].value_counts().sort_values(ascending=False)[:10].plot(kind='bar')
# Les 10 fréquences plus plus élevées pour la variable M2
data['M2'].value_counts().sort_values(ascending=False)[:10].plot(kind='bar')
# Les 10 fréquences plus plus élevées pour la variable M3
data['M3'].value_counts().sort_values(ascending=False)[:10].plot(kind='bar')
# Les 10 fréquences plus plus élevées pour la variable M4
data['M4'].value_counts().sort_values(ascending=False)[:10].plot(kind='bar')
On peut remarquer que la catégorie 1a est tjs celle qui est plus présente. Ce qui somme toute semble normale car en général le 1° de paris turf est plutot un favori.