取消隐藏数据框并加入pandas

jer*_*ear 2 python pivot join dataframe pandas

我有这个数据帧:

+-------+-----+---------+
| group | id  |  value  |
+-------+-----+---------+
| A     |  92 | 123.123 |
| A     | 105 |    9034 |
| A     | 999 |     421 |
| B     |  92 |   32019 |
| B     | 105 |    3281 |
+-------+-----+---------+
Run Code Online (Sandbox Code Playgroud)

我想转动'group'列,使其值成为'value'列名称的一部分,观察结果由'id'连接,如下所示:

+-----+---------+---------+
| id  | A_value | B_value |
+-----+---------+---------+
|  92 | 123.123 | 32019   |
| 105 |    9034 | 3281    |
| 999 |     421 | nan     |
+-----+---------+---------+
Run Code Online (Sandbox Code Playgroud)

这样做的最佳方法是什么?

Sco*_*ton 5

使用set_index,unstack和扁平多指标:

df_out = df.set_index(['id','group']).unstack()
df_out.columns = df_out.columns.map('{0[1]}_{0[0]}'.format)
df_out = df_out.reset_index()
print(df_out)
Run Code Online (Sandbox Code Playgroud)

输出:

    id      A_value      B_value
0   92      123.123      32019.0
1  105     9034.000       3281.0
2  999      421.000          NaN
Run Code Online (Sandbox Code Playgroud)