<p>我想将一个数据帧从两列重塑为一行:</p>
<pre><code>import numpy as np
import pandas as pd
df_a = pd.DataFrame({ 'Type': ['A', 'B', 'C', 'D', 'E'], 'Values':[2,4,7,9,3]})
df_a
Type Values
0 A 2
1 B 4
2 C 7
3 D 9
4 E 3
df_b = df_a.pivot(columns='Type', values='Values')
df_b
</code></pre>
<p>这让我想到:</p>
<pre><code>Type A B C D E
0 2.0 NaN NaN NaN NaN
1 NaN 4.0 NaN NaN NaN
2 NaN NaN 7.0 NaN NaN
3 NaN NaN NaN 9.0 NaN
4 NaN NaN NaN NaN 3.0
</code></pre>
<p>当我想把它浓缩成这样一行:</p>
<pre><code>Type A B C D E
0 2.0 4.0 7.0 9.0 3.0
</code></pre>
<p>另一种方式:</p>
<pre><code>df_a['col'] = 0
df_a.set_index(['col','Type'])['Values'].unstack().reset_index().drop('col', axis=1)
Type A B C D E
0 2 4 7 9 3
</code></pre>