Comment mélanger aléatoirement les lignes d'une dataframe avec pandas ?

Published: 03 mai 2021

Tags: Python; Pandas; DataFrame;

DMCA.com Protection Status

Exemples de comment mélanger aléatoirement les lignes d'une dataframe avec pandas

Créez une dataframe avec des pandas

Créons d'abord une dataframe avec des pandas

import numpy as np
import pandas as pd

data = np.arange(20)

df = pd.DataFrame(data=data,columns=['Column A'])

print(df)

donne

    Column A
0          0
1          1
2          2
3          3
4          4
5          5
6          6
7          7
8          8
9          9
10        10
11        11
12        12
13        13
14        14
15        15
16        16
17        17
18        18
19        19

Mélanger aléatoirement les lignes d'une dataframe

Une solution pour mélanger au hasard les lignes d'une dataframe consiste à utiliser pandas.DataFrame.sample acex frac = 1 (pour garder toutes les lignes)

df = df.sample(frac=1)

print(df)

donne

        Column A
11        11
16        16
1          1
4          4
6          6
3          3
19        19
12        12
10        10
0          0
18        18
8          8
2          2
5          5
13        13
7          7
9          9
14        14
17        17
15        15

Remarque: si vous voulez un échantillon, diminuez simplement la fraction (par exemple, frac = 0,5 sélectionnera aléatoirement la moitié des lignes:

df = df.sample(frac=0.5)

print(df)

donne

    Column A
14        14
8          8
7          7
11        11
19        19
9          9
17        17
18        18
0          0
1          1

Références