Pandas自带sample()
函数:
df.sample(frac=1).reset_index(drop=True)
其中由于打乱后的数据,index会乱掉,需要重置index
在重置index后,旧的index默认会成为数据中的一列,因此设置参数drop=True,表示删掉旧的index
用sklearn.utils里面的方法
from sklearn.utils import shuffle
data = pd.read('data.csv')
data = shuffle(data)
用random方法
import random
data = pd.read('data.csv')
data = data.values
random.shuffle(data)
用numpy
的random
的permutation()
或者shuffle()
a = np.arange(20).reshape(4,5)
b=np.random.permutation(a)
a
Out[86]:
array([[ 5, 6, 7, 8, 9],
[15, 16, 17, 18, 19],
[10, 11, 12, 13, 14],
[ 0, 1, 2, 3, 4]])
b
Out[87]:
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[15, 16, 17, 18, 19],
[10, 11, 12, 13, 14]])
另外:
np.random.random.shuffle()就是random.shuffle(),用法一致