Pandas - 如何随机化数据框的行

12 浏览
0 Comments

Pandas - 如何随机化数据框的行

这个问题已经有了答案

随机排列DataFrame的行

我正试图通过保持行的相同但混合行的顺序来随机化我的行,在随机化依赖变量的同时混合行的顺序。我有以下DataFrame:

df
   columnOne columnTwo dependentVariable
0  TAG       321511    0
1  ID        1111      0
2  ID        2222      0
3  system    1         0
4  TAG       252524    0
5  ID        3333      0
6  ID        4444      0
7  ID        5555      1
8  ID        6666      1 
9  TAG       343536    1
10 Local     22        1 
11 ID        7777      1

然后随机排列行:

df
   columnOne columnTwo dependentVariable
0  TAG       321511    0
8  ID        6666      1
1  ID        1111      0
2  ID        2222      0
9  TAG       343536    1
3  system    1         0
10 Local     22        1
4  TAG       252524    0
11 ID        7777      1
5  ID        3333      0
6  ID        4444      0
7  ID        5555      1

然后像这样重置索引:

 df = df.reset_index(drop=True)  

所期望的输出:

df
   columnOne columnTwo dependentVariable
0  TAG       321511    0
1  ID        6666      1
2  ID        1111      0
3  ID        2222      0
4  TAG       343536    1
5  system    1         0
6  Local     22        1
7  TAG       252524    0
8  ID        7777      1
9  ID        3333      0
10 ID        4444      0
11 ID        5555      1    

admin 更改状态以发布 2023年5月25日
0
0 Comments

如果索引是数字,可以对其进行洗牌:

df = pd.DataFrame(['A','B','C','D','E','F','G','H','I','j'],columns = ['Data'])
arr = np.arange(len(df))
out = np.random.permutation(arr) # random shuffle
df.ix[out]

0