個人 (0 ~ 5 のインデックス) は、A と B の 2 つの場所から選択します。私のデータには、個人によって異なる特性 (ind_var) と場所によってのみ異なる特性 (location_var) を含む幅広い形式があります。
たとえば、私は持っています:
In [281]:
df_reshape_test = pd.DataFrame( {'location' : ['A', 'A', 'A', 'B', 'B', 'B'], 'dist_to_A' : [0, 0, 0, 50, 50, 50], 'dist_to_B' : [50, 50, 50, 0, 0, 0], 'location_var': [10, 10, 10, 14, 14, 14], 'ind_var': [3, 8, 10, 1, 3, 4]})
df_reshape_test
Out[281]:
dist_to_A dist_to_B ind_var location location_var
0 0 50 3 A 10
1 0 50 8 A 10
2 0 50 10 A 10
3 50 0 1 B 14
4 50 0 3 B 14
5 50 0 4 B 14
変数「場所」は、個人によって選択されたものです。dist_to_A は、個人が選択した場所から場所 A までの距離です (dist_to_B と同じ)
データを次の形式にしたい:
choice dist_S ind_var location location_var
0 1 0 3 A 10
0 0 50 3 B 14
1 1 0 8 A 10
1 0 50 8 B 14
2 1 0 10 A 10
2 0 50 10 B 14
3 0 50 1 A 10
3 1 0 1 B 14
4 0 50 3 A 10
4 1 0 3 B 14
5 0 50 4 A 10
5 1 0 4 B 14
ここで、choice == 1 は個人がその場所を選択したことを示し、dist_S は選択した場所からの距離です。
.stackメソッドについて読みましたが、この場合に適用する方法がわかりませんでした。御時間ありがとうございます!
注: これは単なる例です。私が探しているデータセットには、場所の数と場所ごとの個人の数がさまざまであるため、可能であれば柔軟なソリューションを探しています