#python #dataset #shuffle
#python #набор данных #перемешать
Вопрос:
Ограничения случайной перетасовки строк в наборе данных: нельзя перетасовывать только строки, а не значения между столбцами
-
np.random.permutation не может работать, потому что он не сохраняет значения по столбцам
-
random.shuffle выдает ошибку ключа
Пример в этой таблице :
Как получить разные строки? например, строка 7 становится строкой 2
Комментарии:
1. это не совсем понятно, у вас есть образец, чтобы показать, что вы хотите?
Ответ №1:
Вы можете получить перетасованный фрейм данных, используя DataFrame.sample(...)
метод, например:
import pandas as pd
import numpy as np
df = pd.DataFrame(data=np.random.rand(10,3), columns=['A', 'B', 'C'])
df = df.sample(frac=1)
Здесь frac=1
указывает функции перетасовать строки вместо выборки некоторого количества строк. Это приведет к чему-то вроде:
A B C
6 0.539230 0.726644 0.904020
9 0.173626 0.774850 0.914098
5 0.114591 0.344212 0.339833
4 0.159820 0.604845 0.029802
3 0.826250 0.765909 0.422308
1 0.110008 0.523306 0.288052
2 0.616792 0.932205 0.659934
8 0.707413 0.794188 0.214229
7 0.409670 0.706913 0.232815
0 0.048167 0.748322 0.014002
Комментарии:
1. Именно то, что я искал!