2
person
列(A、B、C、Dなど)でグループ化できるデータフレームがあり、それぞれのレコードには特定のレコード数。問題は、各グループ内の順序を変更することなく、それらの人をシャッフルする方法です。カテゴリの列に基づいてパンダのデータフレームをシャッフルする方法
person
列(A、B、C、Dなど)でグループ化できるデータフレームがあり、それぞれのレコードには特定のレコード数。問題は、各グループ内の順序を変更することなく、それらの人をシャッフルする方法です。カテゴリの列に基づいてパンダのデータフレームをシャッフルする方法
は、データフレームdf
df = pd.DataFrame(dict(
Person=list('BBBEEEAAACCCZZZZZ'),
Other=range(17)
))
Other Person
0 0 B
1 1 B
2 2 B
3 3 E
4 4 E
5 5 E
6 6 A
7 7 A
8 8 A
9 9 C
10 10 C
11 11 C
12 12 Z
13 13 Z
14 14 Z
15 15 Z
16 16 Z
使用np.random.permutation
が、その後Person
と/loc
/reset_index
df.set_index('Person').loc[
np.random.permutation(df.Person.unique())
].reset_index()
Person Other
0 Z 12
1 Z 13
2 Z 14
3 Z 15
4 Z 16
5 A 6
6 A 7
7 A 8
8 C 9
9 C 10
10 C 11
11 B 0
12 B 1
13 B 2
14 E 3
15 E 4
16 E 5
ありがとうございました。これは非常にうまくいく。 –
はすでに一緒に同じ人からの記録であるか、それらが周囲に点在しているを改造するために考えてみましょうそれが真実ならば、どうやってそれをシャッフルしたいのですか? – Psidom
申し訳ありません。私はそれをあまり混乱させてはならないはずでした。彼らはすでに私が言うだろう一緒に置かれています。 –