Как я могу рандомизировать без повторений в python кадре данных? - PullRequest
0 голосов
/ 27 февраля 2020

Как с рандомизированным кадром данных, чтобы он действительно перепутался? Так, чтобы строки, которые были рядом друг с другом в исходной таблице, больше не вместе.

Например, с этой таблицей.

U         A         B         C
0  1.438161 -0.210454         0
1 -0.283780 -0.371773         0
2  0.552564 -0.610548         0
3  1.931332  0.649179         1
4  1.656010 -1.373263         1
5  0.142682 -0.657849         1
6  1.754264 -0.610548         0
7  1.341232  0.649179         0
8  1.656010 -1.373263         0
9  0.944862 -0.657849         0

Как сделать так, чтобы это выглядело примерно так? (Путем рандомизации)

U         A         B         C
1 -0.283780 -0.371773         0
3  1.931332  0.649179         1
0  1.438161 -0.210454         0
4  1.656010 -1.373263         1
8  1.656010 -1.373263         0
6  1.754264 -0.610548         0
2  0.552564 -0.610548         0
7  1.341232  0.649179         0
9  0.944862 -0.657849         0
5  0.142682 -0.657849         1

Обратите внимание, что номера индексов во второй таблице не имеют значений, которые либо увеличиваются, либо уменьшаются в последовательном порядке (ie, нет 6, 7 или 4,3 )

1 Ответ

1 голос
/ 27 февраля 2020

Это должно делать то, что вам нужно (действительно случайные значения означают, что строки, которые были вместе, могут все еще быть вместе после того, как):

df.sample(frac=1)

frac - это доля результатов, которые нужно вернуть, 1 означает все.

Больше документов здесь https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html

...