Python合并按数据帧分组的聚合并保留所有列

时间:2018-12-25 08:10:58

标签: python pandas

我有两个数据框, 一个是聚合的,按数据帧分组:

groupedby_df1= df.groupby(['Location', 'ID', 'X','Y','Z','C1','C2','C3','C4','C5'])

另一个按数据帧分组,但只有一个级别的聚合:

groupedby_df2= df.groupby(['ID'])

我已经合并了两个数据框:

merged_df= pd.merge(groupedby_df1, groupedby_df2, how='left', on='ID')

我的问题是合并的数据框仅保留“ ID”列。 有什么办法可以使我的列与“ groupedby_df1”中的列相同。 与SQL左联接中的相同,只是在右侧添加来自groupedby_df2的信息?

谢谢。

由df1分组:

<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th>Sum_Consumption</th>
      <th>Avg_Shortage_Sim</th>
      <th>Avg_Buying_Price</th>
      <th>Count_days</th>
      <th>Avg_Shortage_R</th>

    </tr>
    <tr>
      <th>Location</th>
      <th>ID</th>
      <th>X</th>
      <th>Y</th>
      <th>X</th>
      <th>C1</th>
      <th>C2</th>
      <th>C3</th>
      <th>C4</th>
      <th>C5</th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>

    </tr>
  </thead>
  <tbody>
    <tr>
      <th rowspan="5" valign="top">802003</th>
      <th rowspan="2" valign="top">254483014238</th>
      <th>NO</th>
      <th>NO</th>
      <th>YES</th>
      <th>JEANS</th>
      <th>JEANS</th>
      <th>38</th>
      <th>0.0</th>
      <th>0.0</th>
      <td>0.0</td>
      <td>0.0</td>
      <td>1.0</td>
      <td>3</td>
      <td>1.0</td>

    </tr>
    <tr>
      <th>YES</th>
      <th>YES</th>
      <th>YES</th>
      <th>JEANS</th>
      <th>JEANS</th>
      <th>38</th>
      <th>0.0</th>
      <th>0.0</th>
      <td>0.0</td>
      <td>0.0</td>
      <td>1.0</td>
      <td>67</td>
      <td>0.0</td>

    </tr>

  </tbody>
</table>

按df2分组:

<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>Sum_Consumption</th>
      <th>count_SKU</th>
      <th>Avg_Buying_Price</th>
      <th>Avg_Shortage_R</th>
      
    </tr>
    <tr>
      <th>ID</th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>254483014236</th>
      <td>0.0</td>
      <td>2</td>
      <td>1.0</td>
      <td>0.000000</td>
      
    </tr>
    <tr>
      <th>254483014238</th>
      <td>16.0</td>
      <td>1943</td>
      <td>1.0</td>
      <td>0.109624</td>
      
    </tr>
    
  
  </tbody>
</table>

,合并的DF仅给我ID列,而没有groupedby_df1的所有其他聚合字段。

0 个答案:

没有答案