0
これはmy previous questionの続きです。列に複数の列のグループを渡す方法は?
Iデータセットを有する:
df =
ID GROUP_1 GROUP_2 GROUP_3 COUNT NAME_1 NAME_2
1 AAA AAA CCC 5 xxx yyy
2 BBB CCC AAA 6 yyy zzz
結果はこの1つでなければならない。私は行にGROUP_1、GROUP_2とGROUP_3の値を渡したい
new =
ID GROUP COUNT NAME
1 AAA 5 xxx
1 AAA 5 yyy
1 CCC 5 xxx
1 CCC 5 yyy
2 BBB 6 yyy
2 BBB 6 zzz
2 CCC 6 yyy
2 CCC 6 zzz
2 AAA 6 yyy
2 AAA 6 zzz
、AND NAME_1
とNAME_2
を(GROUP
とNAME
で始まる列の数が多いので、手動で列挙したくありません)。
私は現在、上記の私の前の質問で提案されたソリューションを使用していますことは:
cols = ['ID', 'GROUP', 'COUNT', 'NAME']
df.set_index(['ID', 'COUNT', 'NAME']).stack().reset_index(name='GROUP')[cols]
しかし、問題は、私はNAME
に同じ手順を適用すべきであるということです。列に複数の列を渡す必要があることを考慮して、このソリューションを更新することは可能ですか?
希望の出力が何であるかを示してください。 –
@DmitryPolonskiy:私の更新を見てください。 – Dinosaurius