私は次のPandasサブデータフレームを持っています
col1 name1 name2
522 a 10 0.2
1021 b 72 -0.1
col1
重複はありません。データフレームを転置し、列ヘッダーをcol1
値に変更します。理想的には出力は次のようになります。
Variable a b
name1 10 72
name2 0.2 -0.1
自由度を転置し、最初の列を変数としてラベル付けするのは簡単です。
df.transpose().reset_index().rename(columns={'index':'Variable'})
結果の DF には、元の DF のインデックスが列ヘッダーとして含まれます (インデックスはソートされておらず、データ内では 1 から始まりません)。残りの列名を変更するにはどうすればよいですか?
ベストアンサー1
df = df.set_index('col1').T
print (df)
col1 a b
name1 10.0 72.0
name2 0.2 -0.1
df = df.set_index('col1').T.rename_axis('Variable').rename_axis(None, 1)
print (df)
a b
Variable
name1 10.0 72.0
name2 0.2 -0.1
インデックスから列が必要な場合:
df = df.set_index('col1').T.rename_axis('Variable').rename_axis(None, 1).reset_index()
print (df)
Variable a b
0 name1 10.0 72.0
1 name2 0.2 -0.1