首页 > 解决方案 > 将值从一个数据帧映射到另一个数据帧

问题描述

我有一个数据框:

df1 = pd.DataFrame(data = {'x_axis': ['p1','p2','p2','p4','p4'],
                          'y_axis': [1,2,3,1,5],
                          'error_type_A': ['error 2', 'error 1', 'error 1', 'error 2', 'error 1'],
                          'error_type_B': ['error 3','error 4','','error 3','error 4']})

我想要的是新的数据框,如下所示: 在此处输入图像描述

我怎样才能做到这一点?

标签: pythonpandas

解决方案


首先设置y_axisx_axis作为索引使用df.set_index. 然后使用df.agg,unstack使用df.unstack

df1.set_index(['y_axis', 'x_axis']).agg(", ".join, axis=1).unstack(fill_value='')

x_axis                p1                p2                p4
y_axis                                                      
1       error 2, error 3                    error 2, error 3
2                         error 1, error 4                  
3                                  error 1                  
5                                           error 1, error 4

推荐阅读