Если вы используете pandas, вы можете просто перетасовать один столбец:
df['col'] = df['col'].sample(frac=1).values
Это одинаково хорошо работает на любом подмножестве столбцов, например,
cols = ['col1', 'col2']
df[cols] = df[cols].sample(frac=1).values
Два столбца перетасованы вместе, то есть их соответствующие значения остаются выровненными.
См. Также этот ответ .