2017-08-17 22 views

答えて

4

我々はpd.meltメソッドを使用することができます順序が重要な場合

In [87]: pd.melt(df, 'Type') 
Out[87]: 
    Type variable value 
0 A Label_1  1 
1 B Label_1  3 
2 C Label_1  2 
3 A Label_2  5 
4 B Label_2  2 
5 C Label_2  1 
6 A Label_3  3 
7 B Label_3  1 
8 C Label_3  2 

を:

In [89]: pd.melt(df, 'Type').sort_values(['Type', 'variable']) 
Out[89]: 
    Type variable value 
0 A Label_1  1 
3 A Label_2  5 
6 A Label_3  3 
1 B Label_1  3 
4 B Label_2  2 
7 B Label_3  1 
2 C Label_1  2 
5 C Label_2  1 
8 C Label_3  2 
+1

そしてソート@ jezrael、ありがとう! – jezrael

+0

が必要です! – MaxU

+0

これは完璧です、ありがとう!前にこれについて知りませんでした:) – Maple123

2

使用stack ...これを行うに失敗しました:

df=df.set_index('Type').stack().rename_axis(('Type','Label_type')).reset_index(name='Value') 
print (df) 
    Type Label_type Value 
0 A Label_1  1 
1 A Label_2  5 
2 A Label_3  3 
3 B Label_1  3 
4 B Label_2  2 
5 B Label_3  1 
6 C Label_1  2 
7 C Label_2  1 
8 C Label_3  2 
関連する問題