随机移动数据集中的行 禁忌:只有行不能乱序,列之间不能有值
np.random.permutation 不起作用,因为它不保留每列的值
random.shuffle 导致输入错误
此表上的示例:
如何获取差异行?例如第7行变成第2行
答案 0 :(得分:1)
您可以使用DataFrame.sample(...)
方法获得改组后的数据帧,例如:
import pandas as pd
import numpy as np
df = pd.DataFrame(data=np.random.rand(10,3), columns=['A', 'B', 'C'])
df = df.sample(frac=1)
此处frac=1
告诉该函数重新排列行,而不是对某些行进行采样。这将导致类似:
A B C
6 0.539230 0.726644 0.904020
9 0.173626 0.774850 0.914098
5 0.114591 0.344212 0.339833
4 0.159820 0.604845 0.029802
3 0.826250 0.765909 0.422308
1 0.110008 0.523306 0.288052
2 0.616792 0.932205 0.659934
8 0.707413 0.794188 0.214229
7 0.409670 0.706913 0.232815
0 0.048167 0.748322 0.014002