Skip to content

Dans pandas, vous pouvez trier les donnรฉes avec ๐ฉโ€Œ๐šโ€Œ๐งโ€Œ๐โ€Œ๐šโ€Œ๐ฌโ€Œ.๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ() et ๐ฉโ€Œ๐šโ€Œ๐งโ€Œ๐โ€Œ๐šโ€Œ๐ฌโ€Œ.๐ชโ€Œ๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ() .

Cet article dรฉcrit comment utiliser ๐ฉโ€Œ๐šโ€Œ๐งโ€Œ๐โ€Œ๐šโ€Œ๐ฌโ€Œ.๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ() et ๐ฉโ€Œ๐šโ€Œ๐งโ€Œ๐โ€Œ๐šโ€Œ๐ฌโ€Œ.๐ชโ€Œ๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ() .

  • Binning avec des intervalles รฉgaux ou des valeurs limites donnรฉes : ๐ฉโ€Œ๐โ€Œ.๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ()
    • Spรฉcifiez le nombre de bacs de largeur รฉgale
    • Spรฉcifiez les bords du bac (valeurs limites)
    • Obtenir les bacs calculรฉs ou spรฉcifiรฉs : ๐ซโ€Œ๐žโ€Œ๐ญโ€Œ๐›โ€Œ๐ขโ€Œ๐งโ€Œ๐ฌโ€Œ
    • Spรฉcifiez si le bord le plus ร  droite est inclus ou non : ๐ซโ€Œ๐ขโ€Œ๐ โ€Œ๐กโ€Œ๐ญโ€Œ
    • Spรฉcifiez les รฉtiquettes : ๐ฅโ€Œ๐šโ€Œ๐›โ€Œ๐žโ€Œ๐ฅโ€Œ๐ฌโ€Œ
    • Spรฉcifiez la prรฉcision des valeurs limites : ๐ฉโ€Œ๐ซโ€Œ๐žโ€Œ๐œโ€Œ๐ขโ€Œ๐ฌโ€Œ๐ขโ€Œ๐จโ€Œ๐งโ€Œ
  • Binning pour rendre le nombre d’รฉlรฉments รฉgal : ๐ฉโ€Œ๐โ€Œ.๐ชโ€Œ๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ()
    • Prรฉcisez le nombre de bacs
    • Pour les valeurs en double
  • Comptez le nombre d’รฉlรฉments dans le bac : ๐ฏโ€Œ๐šโ€Œ๐ฅโ€Œ๐ฎโ€Œ๐žโ€Œ_๐œโ€Œ๐จโ€Œ๐ฎโ€Œ๐งโ€Œ๐ญโ€Œ๐ฌโ€Œ()
  • Pour la liste Python et le tableau NumPy
  • Exemple : donnรฉes du Titanic

Utilisez l’exemple suivant ๐ฉโ€Œ๐šโ€Œ๐งโ€Œ๐โ€Œ๐šโ€Œ๐ฌโ€Œ.S๐žโ€Œ๐ซโ€Œ๐ขโ€Œ๐žโ€Œ๐ฌโ€Œ .

import pandas as pd s = pd.Series(data=[x**2 for x in range(11)], index=list('abcdefghijk')) print(s) # a 0 # b 1 # c 4 # d 9 # e 16 # f 25 # g 36 # h 49 # i 64 # j 81 # k 100 # dtype: int64 

Binning avec des intervalles รฉgaux ou des valeurs limites donnรฉes : ๐ฉโ€Œ๐โ€Œ.๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ()

Dans ๐ฉโ€Œ๐šโ€Œ๐งโ€Œ๐โ€Œ๐šโ€Œ๐ฌโ€Œ.๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ() , le premier paramรจtre ๐ฑโ€Œ est un tableau unidimensionnel (liste Python ou , ๐ฉโ€Œ๐šโ€Œ๐งโ€Œ๐โ€Œ๐šโ€Œ๐ฌโ€Œ.S๐žโ€Œ๐ซโ€Œ๐ขโ€Œ๐žโ€Œ๐ฌโ€Œ ) comme donnรฉes source, et le deuxiรจme paramรจtre ๐›โ€Œ๐ขโ€Œ๐งโ€Œ๐ฌโ€Œ est le paramรจtre de division du bac.

Spรฉcifiez le nombre de bacs de largeur รฉgale

Vous pouvez prรฉciser le nombre de bacs de รฉgale en spรฉcifiant une valeur entiรจre pour ๐›โ€Œ๐ขโ€Œ๐งโ€Œ๐ฌโ€Œ .

s_cut = pd.cut(s, 4) print(s_cut) # a (-0.1, 25.0] # b (-0.1, 25.0] # c (-0.1, 25.0] # d (-0.1, 25.0] # e (-0.1, 25.0] # f (-0.1, 25.0] # g (25.0, 50.0] # h (25.0, 50.0] # i (50.0, 75.0] # j (75.0, 100.0] # k (75.0, 100.0] # dtype: category # Categories (4, interval[float64]): [(-0.1, 25.0] < (25.0, 50.0] < (50.0, 75.0] < (75.0, 100.0]] print(type(s_cut)) # <class 'pandas.core.series.Series'> 

(๐šโ€Œ, ๐›โ€Œ] signifie ๐šโ€Œ < ๐ฑโ€Œ <= ๐›โ€Œ .

Spรฉcifiez les bords du bac (valeurs limites)

Vous pouvez prรฉciser les bords du bac, les valeurs limites, en spรฉcifiant une liste pour ๐›โ€Œ๐ขโ€Œ๐งโ€Œ๐ฌโ€Œ . Les รฉlรฉments en dehors de la plage sont sรฉlectionnรฉs comme N๐šโ€ŒN .

print(pd.cut(s, [0, 10, 50, 100])) # a NaN # b (0, 10] # c (0, 10] # d (0, 10] # e (10, 50] # f (10, 50] # g (10, 50] # h (10, 50] # i (50, 100] # j (50, 100] # k (50, 100] # dtype: category # Categories (3, interval[int64]): [(0, 10] < (10, 50] < (50, 100]] 

Obtenir les bacs calculรฉs ou spรฉcifiรฉs : ๐ซโ€Œ๐žโ€Œ๐ญโ€Œ๐›โ€Œ๐ขโ€Œ๐งโ€Œ๐ฌโ€Œ

Avec ๐ซโ€Œ๐žโ€Œ๐ญโ€Œ๐›โ€Œ๐ขโ€Œ๐งโ€Œ๐ฌโ€Œ=T๐ซโ€Œ๐ฎโ€Œ๐žโ€Œ , vous pouvez obtenir des bacs, c’est-ร -dire une liste de valeurs limites en plus des donnรฉes regroupรฉes.

s_cut, bins = pd.cut(s, 4, retbins=True) print(s_cut) # a (-0.1, 25.0] # b (-0.1, 25.0] # c (-0.1, 25.0] # d (-0.1, 25.0] # e (-0.1, 25.0] # f (-0.1, 25.0] # g (25.0, 50.0] # h (25.0, 50.0] # i (50.0, 75.0] # j (75.0, 100.0] # k (75.0, 100.0] # dtype: category # Categories (4, interval[float64]): [(-0.1, 25.0] < (25.0, 50.0] < (50.0, 75.0] < (75.0, 100.0]] print(bins) print(type(bins)) # [ -0.1 25. 50. 75. 100. ] # <class 'numpy.ndarray'> 

Spรฉcifiez si le bord le plus ร  droite est inclus ou non : ๐ซโ€Œ๐ขโ€Œ๐ โ€Œ๐กโ€Œ๐ญโ€Œ

Par dรฉfaut, le bord le plus ร  droite est inclus et le bord le plus ร  gauche ne l’est pas. Si ๐ซโ€Œ๐ขโ€Œ๐ โ€Œ๐กโ€Œ๐ญโ€Œ=F๐šโ€Œ๐ฅโ€Œ๐ฌโ€Œ๐žโ€Œ , au contraire, le bord le plus ร  droite n’est pas inclus.

print(pd.cut(s, 4, right=False)) # a [0.0, 25.0) # b [0.0, 25.0) # c [0.0, 25.0) # d [0.0, 25.0) # e [0.0, 25.0) # f [25.0, 50.0) # g [25.0, 50.0) # h [25.0, 50.0) # i [50.0, 75.0) # j [75.0, 100.1) # k [75.0, 100.1) # dtype: category # Categories (4, interval[float64]): [[0.0, 25.0) < [25.0, 50.0) < [50.0, 75.0) < [75.0, 100.1)] 

Spรฉcifiez les รฉtiquettes : ๐ฅโ€Œ๐šโ€Œ๐›โ€Œ๐žโ€Œ๐ฅโ€Œ๐ฌโ€Œ

Vous pouvez dรฉfinir des libellรฉs avec le paramรจtre ๐ฅโ€Œ๐šโ€Œ๐›โ€Œ๐žโ€Œ๐ฅโ€Œ๐ฌโ€Œ . Les libellรฉs par dรฉfaut sont du type (๐šโ€Œ, ๐›โ€Œ] , comme dans les exemples prรฉcรฉdents.

Si ๐ฅโ€Œ๐šโ€Œ๐›โ€Œ๐žโ€Œ๐ฅโ€Œ๐ฌโ€Œ=F๐šโ€Œ๐ฅโ€Œ๐ฌโ€Œ๐žโ€Œ , les index entiers (numรฉros sรฉquentiels commenรงant ร  0) sont utilisรฉs comme รฉtiquettes.

print(pd.cut(s, 4, labels=False)) # a 0 # b 0 # c 0 # d 0 # e 0 # f 0 # g 1 # h 1 # i 2 # j 3 # k 3 # dtype: int64 

Vous pouvez รฉgalement prรฉciser une liste de n’importe quelle libellรฉe. Notez qu’une erreur est gรฉnรฉrรฉe si le nombre de compartiments ne correspond pas au nombre d’รฉlรฉments de la liste.

print(pd.cut(s, 4, labels=['small', 'medium', 'large', 'x-large'])) # a small # b small # c small # d small # e small # f small # g medium # h medium # i large # j x-large # k x-large # dtype: category # Categories (4, object): [small < medium < large < x-large] 

Spรฉcifiez la prรฉcision des valeurs limites : ๐ฉโ€Œ๐ซโ€Œ๐žโ€Œ๐œโ€Œ๐ขโ€Œ๐ฌโ€Œ๐ขโ€Œ๐จโ€Œ๐งโ€Œ

Vous pouvez prรฉciser la prรฉcision (nombre de dรฉcimales) des valeurs limites avec le paramรจtre ๐ฉโ€Œ๐ซโ€Œ๐žโ€Œ๐œโ€Œ๐ขโ€Œ๐ฌโ€Œ๐ขโ€Œ๐จโ€Œ๐งโ€Œ .

print(pd.cut(s, 3)) # a (-0.1, 33.333] # b (-0.1, 33.333] # c (-0.1, 33.333] # d (-0.1, 33.333] # e (-0.1, 33.333] # f (-0.1, 33.333] # g (33.333, 66.667] # h (33.333, 66.667] # i (33.333, 66.667] # j (66.667, 100.0] # k (66.667, 100.0] # dtype: category # Categories (3, interval[float64]): [(-0.1, 33.333] < (33.333, 66.667] < (66.667, 100.0]] print(pd.cut(s, 3, precision=1)) # a (-0.1, 33.3] # b (-0.1, 33.3] # c (-0.1, 33.3] # d (-0.1, 33.3] # e (-0.1, 33.3] # f (-0.1, 33.3] # g (33.3, 66.7] # h (33.3, 66.7] # i (33.3, 66.7] # j (66.7, 100.0] # k (66.7, 100.0] # dtype: category # Categories (3, interval[float64]): [(-0.1, 33.3] < (33.3, 66.7] < (66.7, 100.0]] 

Binning pour rendre le nombre d’รฉlรฉments รฉgal : ๐ฉโ€Œ๐โ€Œ.๐ชโ€Œ๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ()

๐ชโ€Œ๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ() divise les donnรฉes de sorte que le nombre d’รฉlรฉments dans chaque compartiment soit aussi รฉgal que possible.

Le premier paramรจtre ๐ฑโ€Œ est un tableau unidimensionnel (liste Python ou ๐งโ€Œ๐ฎโ€Œ๐ฆโ€Œ๐ฉโ€Œ๐ฒโ€Œ.๐งโ€Œ๐โ€Œ๐šโ€Œ๐ซโ€Œ๐ซโ€Œ๐šโ€Œ๐ฒโ€Œ , ๐ฉโ€Œ๐šโ€Œ๐งโ€Œ๐โ€Œ๐šโ€Œ๐ฌโ€Œ.S๐žโ€Œ๐ซโ€Œ๐ขโ€Œ๐žโ€Œ๐ฌโ€Œ ) comme donnรฉes source, et le deuxiรจme paramรจtre ๐ชโ€Œ est le nombre de bacs.

Vous pouvez dรฉfinir les mรชmes paramรจtres que dans ๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ() , ๐ฅโ€Œ๐šโ€Œ๐›โ€Œ๐žโ€Œ๐ฅโ€Œ๐ฌโ€Œ et ๐ซโ€Œ๐žโ€Œ๐ญโ€Œ๐›โ€Œ๐ขโ€Œ๐งโ€Œ๐ฌโ€Œ .

Prรฉcisez le nombre de bacs

Vous pouvez prรฉciser le nombre de divisions dans ๐ชโ€Œ .

Si ๐ชโ€Œ=2 , les donnรฉes sont divisรฉes par 2-quantile (mรฉdiane).

print(pd.qcut(s, 2)) # a (-0.001, 25.0] # b (-0.001, 25.0] # c (-0.001, 25.0] # d (-0.001, 25.0] # e (-0.001, 25.0] # f (-0.001, 25.0] # g (25.0, 100.0] # h (25.0, 100.0] # i (25.0, 100.0] # j (25.0, 100.0] # k (25.0, 100.0] # dtype: category # Categories (2, interval[float64]): [(-0.001, 25.0] < (25.0, 100.0]] 

Si ๐ชโ€Œ=4 , les donnรฉes sont divisรฉes par 4 quantiles (quartiles).

s_qcut, bins = pd.qcut(s, 4, labels=['Q1', 'Q2', 'Q3', 'Q4'], retbins=True) print(s_qcut) # a Q1 # b Q1 # c Q1 # d Q2 # e Q2 # f Q2 # g Q3 # h Q3 # i Q4 # j Q4 # k Q4 # dtype: category # Categories (4, object): [Q1 < Q2 < Q3 < Q4] print(bins) # [ 0. 6.5 25. 56.5 100. ] 

Pour les valeurs en double

Soyez prudent lorsqu’il y a des รฉlรฉments en double dans les donnรฉes d’origine.

Par exemple, si les valeurs sont dupliquรฉes jusqu’ร  la mรฉdiane :

s_duplicate = pd.Series(data=[0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6], index=list('abcdefghijk')) print(s_duplicate) # a 0 # b 0 # c 0 # d 0 # e 0 # f 1 # g 2 # h 3 # i 4 # j 5 # k 6 # dtype: int64 

Il est possible de diviser par 2 ร  la mรฉdiane lorsque ๐ชโ€Œ=2 , mais un plus grand nombre de divisions entraรฎnera une erreur.

print(pd.qcut(s_duplicate, 2)) # a (-0.001, 1.0] # b (-0.001, 1.0] # c (-0.001, 1.0] # d (-0.001, 1.0] # e (-0.001, 1.0] # f (-0.001, 1.0] # g (1.0, 6.0] # h (1.0, 6.0] # i (1.0, 6.0] # j (1.0, 6.0] # k (1.0, 6.0] # dtype: category # Categories (2, interval[float64]): [(-0.001, 1.0] < (1.0, 6.0]] # print(pd.qcut(s_duplicate, 4)) # ValueError: Bin edges must be unique: array([0. , 0. , 1. , 3.5, 6. ]). # You can drop duplicate edges by setting the 'duplicates' kwarg 

Par exemple, dans le cas de 4 divisions, les valeurs minimales, 25 %, 50 %, 75 % et maximales sont dรฉfinies comme valeurs limites, mais s’il y a beaucoup d’รฉlรฉments qui se chevauchent comme dans l’exemple, les valeurs minimales et 25 % sont la mรชme valeur, ce qui est la cause de l’erreur.

Si ๐โ€Œ๐ฎโ€Œ๐ฉโ€Œ๐ฅโ€Œ๐ขโ€Œ๐œโ€Œ๐šโ€Œ๐ญโ€Œ๐žโ€Œ๐ฌโ€Œ=’๐โ€Œ๐ซโ€Œ๐จโ€Œ๐ฉโ€Œ’ , les valeurs limites en double sont exclues.

print(pd.qcut(s_duplicate, 4, duplicates='drop')) # a (-0.001, 1.0] # b (-0.001, 1.0] # c (-0.001, 1.0] # d (-0.001, 1.0] # e (-0.001, 1.0] # f (-0.001, 1.0] # g (1.0, 3.5] # h (1.0, 3.5] # i (3.5, 6.0] # j (3.5, 6.0] # k (3.5, 6.0] # dtype: category # Categories (3, interval[float64]): [(-0.001, 1.0] < (1.0, 3.5] < (3.5, 6.0]] 

Comptez le nombre d’รฉlรฉments dans le bac : ๐ฏโ€Œ๐šโ€Œ๐ฅโ€Œ๐ฎโ€Œ๐žโ€Œ_๐œโ€Œ๐จโ€Œ๐ฎโ€Œ๐งโ€Œ๐ญโ€Œ๐ฌโ€Œ()

Vous pouvez obtenir le nombre d’รฉlรฉments dans un bac en appelant la mรฉthode ๐ฏโ€Œ๐šโ€Œ๐ฅโ€Œ๐ฎโ€Œ๐žโ€Œ_๐œโ€Œ๐จโ€Œ๐ฎโ€Œ๐งโ€Œ๐ญโ€Œ๐ฌโ€Œ() ร  partir de la mรฉthode ๐ฉโ€Œ๐šโ€Œ๐งโ€Œ๐โ€Œ๐šโ€Œ๐ฌโ€Œ.S๐žโ€Œ๐ซโ€Œ๐ขโ€Œ๐žโ€Œ๐ฌโ€Œ renvoyรฉe par ๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ() ou ๐ชโ€Œ๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ() .

counts = pd.cut(s, 3, labels=['S', 'M', 'L']).value_counts() print(counts) # S 6 # M 3 # L 2 # dtype: int64 print(type(counts)) # <class 'pandas.core.series.Series'> print(counts['M']) # 3 

๐ฏโ€Œ๐šโ€Œ๐ฅโ€Œ๐ฎโ€Œ๐žโ€Œ_๐œโ€Œ๐จโ€Œ๐ฎโ€Œ๐งโ€Œ๐ญโ€Œ๐ฌโ€Œ() est รฉgalement fourni en tant que fonction ๐ฉโ€Œ๐šโ€Œ๐งโ€Œ๐โ€Œ๐šโ€Œ๐ฌโ€Œ.๐ฏโ€Œ๐šโ€Œ๐ฅโ€Œ ๐ฎโ€Œ๐žโ€Œ_๐œโ€Œ๐จโ€Œ๐ฎโ€Œ๐งโ€Œ๐ญโ€Œ๐ฌโ€Œ() .

print(pd.value_counts(pd.cut(s, 3, labels=['S', 'M', 'L']))) # S 6 # M 3 # L 2 # dtype: int64 

Pour la liste Python et le tableau NumPy

Les exemples prรฉcรฉdents ont utilisรฉ ๐ฉโ€Œ๐šโ€Œ๐งโ€Œ๐โ€Œ๐šโ€Œ๐ฌโ€Œ.S๐žโ€Œ๐ซโ€Œ๐ขโ€Œ๐žโ€Œ๐ฌโ€Œ comme donnรฉes source, mais le premier paramรจtre ๐ฑโ€Œ de ๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ() ou ๐ชโ€Œ๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ() peut รชtre une liste Python ou un tableau NumPy ๐งโ€Œ๐โ€Œ๐šโ€Œ๐ซโ€Œ๐ซโ€Œ๐šโ€Œ๐ฒโ€Œ s’il est unidimensionnel.

l = [x**2 for x in range(11)] print(l) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100] l_cut = pd.cut(l, 3, labels=['S', 'M', 'L']) print(l_cut) # [S, S, S, S, S, ..., M, M, M, L, L] # Length: 11 # Categories (3, object): [S < M < L] print(type(l_cut)) # <class 'pandas.core.categorical.Categorical'> 

Vous pouvez obtenir des รฉlรฉments par index et les convertir en liste Python avec ๐ฅโ€Œ๐ขโ€Œ๐ฌโ€Œ๐ญโ€Œ() .

print(l_cut[0]) # S print(list(l_cut)) # ['S', 'S', 'S', 'S', 'S', 'S', 'M', 'M', 'M', 'L', 'L'] 

Si vous souhaitez compter le nombre d’รฉlรฉments dans un bac, utilisez ๐ฉโ€Œ๐šโ€Œ๐งโ€Œ๐โ€Œ๐šโ€Œ๐ฌโ€Œ.๐ฏโ€Œ๐šโ€Œ๐ฅโ€Œ ๐ฎโ€Œ๐žโ€Œ_๐œโ€Œ๐จโ€Œ๐ฎโ€Œ๐งโ€Œ๐ญโ€Œ๐ฌโ€Œ() .

print(pd.value_counts(l_cut)) # S 6 # M 3 # L 2 # dtype: int64 

Exemple : donnรฉes du Titanic

Utilisez les donnรฉes du Titanic comme exemple. Vous pouvez les tรฉlรฉcharger depuis Kaggle .

Il est รฉgalement disponible ici.

Certaines colonnes sont exclues.

df_titanic = pd.read_csv('data/src/titanic_train.csv').drop(['Name', 'Ticket', 'Cabin', 'Embarked'], axis=1) print(df_titanic.head()) # PassengerId Survived Pclass Sex Age SibSp Parch Fare # 0 1 0 3 male 22.0 1 0 7.2500 # 1 2 1 1 female 38.0 1 0 71.2833 # 2 3 1 3 female 26.0 0 0 7.9250 # 3 4 1 1 female 35.0 1 0 53.1000 # 4 5 0 3 male 35.0 0 0 8.0500 

Supprimez la colonne ยซ A๐ โ€Œ๐žโ€Œ ยป avec ๐œโ€Œ๐ฎโ€Œ๐ญโ€Œ() .

print(df_titanic['Age'].describe()) # count 714.000000 # mean 29.699118 # std 14.526497 # min 0.420000 # 25% 20.125000 # 50% 28.000000 # 75% 38.000000 # max 80.000000 # Name: Age, dtype: float64 print(pd.cut(df_titanic['Age'], 5, precision=0).value_counts(sort=False, dropna=False)) # (0.0, 16.0] 100 # (16.0, 32.0] 346 # (32.0, 48.0] 188 # (48.0, 64.0] 69 # (64.0, 80.0] 11 # NaN 177 # Name: Age, dtype: int64 

Pour ajouter le rรฉsultat en tant que nouvelle colonne ร  la colonne D๐šโ€Œ๐ญโ€Œ๐šโ€ŒF๐ซโ€Œ๐šโ€Œ๐ฆโ€Œ๐žโ€Œ d’origine, procรฉdez comme suit. Pour รฉcraser une colonne existante, nommez simplement la colonne de gauche avec le nom de la colonne existante.

df_titanic['Age_bin'] = pd.cut(df_titanic['Age'], 5, labels=False) print(df_titanic.head()) # PassengerId Survived Pclass Sex Age SibSp Parch Fare Age_bin # 0 1 0 3 male 22.0 1 0 7.2500 1.0 # 1 2 1 1 female 38.0 1 0 71.2833 2.0 # 2 3 1 3 female 26.0 0 0 7.9250 1.0 # 3 4 1 1 female 35.0 1 0 53.1000 2.0 # 4 5 0 3 male 35.0 0 0 8.0500 2.0 

Notez que, dans cet exemple, le processus de binning est effectuรฉ immรฉdiatement pour plus de commoditรฉ, mais idรฉalement, la valeur manquante N๐šโ€ŒN doit d’abord รชtre complรฉtรฉe avant le binning.