Скажем, у меня есть Pandas
DataFrame
, данные выглядят какпереставляют группы в панд
import numpy as np
import pandas as pd
n = 30
df = pd.DataFrame({'a': np.arange(n),
'b': np.random.choice([0, 1, 2], n),
'c': np.arange(n)})
Вопрос: как переставлять группы (сгруппированные по b
колонке)?
Не перестановка в каждой группе, а перестановка на групповом уровне?
Пример
Перед
a b c
1 0 1
2 0 2
3 1 3
4 1 4
5 2 5
6 2 6
После
a b c
3 1 3
4 1 4
1 0 1
2 0 2
5 2 5
6 2 6
В основном до перестановки, df['b'].unqiue() == [0, 1, 2]
, после перестановки, df['b'].unique() == [1, 0, 2]
.
Что желаемый результат? – jezrael
@jezrael Смотрите обновленный. – gongzhitaao
Вы хотите случайную перестановку или все возможные перестановки? – ayhan