Перемешать pandas столбцов - PullRequest
2 голосов
/ 05 мая 2020

У меня есть следующий фрейм данных:

    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 Ответ

2 голосов
/ 05 мая 2020

Используйте 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
...