2016-04-19 28 views
1

follの行を変換したい。列ヘッダーにパンダのデータフレーム:pandasデータフレームの行を列に変換する

     transition   area 
0     A_to_B  -9.339710e+10 
1     B_to_C  2.135599e+02 

結果:

A_to_B   B_to_C 
0 -9.339710e+10  2.135599e+02 

私は、ピボットテーブルを使用してみましたが、それは私が望む結果が得られていないようです。

答えて

1

は、私はあなたが最初set_indextransitionで、その後、Tによって転置rename_axisと最後reset_indexで列名を削除することができると思う:

print df.set_index('transition').T.rename_axis(None, axis=1).reset_index(drop=True) 
     A_to_B B_to_C 
0 -9.339710e+10 213.5599 
+0

これはWindowsマシンではうまくいくが、驚くべきことにMac OS X(Python 2.7.11と最新のpandasバージョン)で失敗する。 Mac OS Xではエラーが発生します: 'TypeError:名前を変更するためのインデックスを渡す必要があります ' – user308827

+0

Mac OS Xのpandasバージョンは0.17ではなく0.18でした。更新されたバージョンと今すぐ動作します – user308827

1
df = df.T 

df.columns = df.iloc[0, :] 

df = df.iloc[1:, :] 
+0

私はあなたに 'reset_index'と' rename_axis'を追加必要があると思いますあなたのコード。ありがとう@jezrael。 – jezrael

関連する問題