我有两个数据框, 一个是聚合的,按数据帧分组:
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的所有其他聚合字段。