我有以下数据框:
Col1 Col2 Col3 Type
0 1 2 3 1
1 4 5 6 1
2 7 8 9 2
,我想要一个像这样的随机输出:
Col3 Col1 Col2 Type
0 3 1 2 1
1 6 4 5 1
2 9 7 8 2
如何实现?
答案 0 :(得分:2)
将DataFrame.sample
与axis=1
一起使用:
df = df.sample(frac=1, axis=1)
如果需要最后一列,请不要更改位置:
a = df.columns[:-1].to_numpy()
np.random.shuffle(a)
print (a)
['Col3' 'Col1' 'Col2']
df = df[np.append(a, ['Type'])]
print (df)
Col2 Col3 Col1 Type
0 3 1 2 1
1 6 4 5 1
2 9 7 8 2