用pandas.join()

时间:2019-02-27 16:40:53

标签: python pandas join merge

我有以下df

df
      Site        Process     parameter       value    unit   
0      Mid  Biomass plant        cap-up     5000.00      
1      Mid  Biomass plant      inv-cost   875000.00    
2      Mid  Biomass plant  depreciation       25.00      
3      Mid     Coal plant        cap-up        0.00      
4      Mid     Coal plant      inv-cost   600000.00    
5      Mid     Coal plant  depreciation       40.00    

我想为unit创建一个df,如下所示:

df_unit
      unit
0       MW    
1    €/MWh  
2        a

,我想将dfdf_unit合并在一起。用熊猫join()做到这一点可能是最好的方法,但我不知道如何使用它。那么,您能帮我从df_mergeddf中获得以下df_unit吗?

以下输出是预期结果。

df_merged
      Site        Process     parameter       value    unit   
0      Mid  Biomass plant        cap-up     5000.00      MW
1      Mid  Biomass plant      inv-cost   875000.00   €/MWh
2      Mid  Biomass plant  depreciation       25.00       a
3      Mid     Coal plant        cap-up        0.00      MW
4      Mid     Coal plant      inv-cost   600000.00   €/MWh
5      Mid     Coal plant  depreciation       40.00       a

1 个答案:

答案 0 :(得分:0)

在您的评论中,您提到要将其分配给正确的参数。因此,您需要在单位数据框中添加一个参数列。

假设您有一个,

步骤1:-使用字典并读取其中的单位数据框。

<div id="table"></div>

上面的代码在做什么,它正在寻找在单位数据框中可用的参数列和单位列之间创建项目的zip。

步骤2:-现在在数据框内调用字典

dictitems = dict(zip(df_Unit[Parameter_Col], df_Unit[Unit_Col]))

上面的代码在做什么,它是将字典映射到实际数据帧上的参数列,并将其添加为新列。

如果您对此有任何疑问,请告诉我。