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)
这样做的最佳方法是什么?
使用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)
| 归档时间: |
|
| 查看次数: |
48 次 |
| 最近记录: |