随机熊猫列

时间:2020-05-05 10:40:38

标签: python-3.x pandas shuffle

我有以下数据框:

    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

如何实现?

1 个答案:

答案 0 :(得分:2)

DataFrame.sampleaxis=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