Python 2.7 groupby然后加入

时间:2015-11-20 20:03:05

标签: python join pandas group-by

我的问题是关于如何加入由groupby方法以及sum()max()函数创建的2个数据框。

案例是: 我有第一个具有下一个结构的数据框:

enter image description here

第二个具有相同结构,但不是DepartmentDescripton ...变量,我有"星期一","星期二"等

然后我尝试加入他们:

train_joined_dep_week = pd.merge(tr_bin_dep_grouped, tr_bin_weekday_grouped_flag, left_on=["VisitNumber"], right_on=["VisitNumber"], how='INNER')`

错误是

KeyError
Traceback (most recent call last)
<ipython-input-24-faccedccea7d> in <module>()
----> 1 train_joined_dep_week = pd.merge(tr_bin_dep_grouped, tr_bin_weekday_grouped_flag, left_on=["VisitNumber"], right_on=["VisitNumber"], how='INNER')
[...]
KeyError: 'VisitNumber'

注意:我有两种不同的聚合函数(sum()max()),所以我不能只生成1个数据帧。我认为问题是关于sum() func之后的错误数据结构,但我不明白如何以正确的方式进行。

1 个答案:

答案 0 :(得分:1)

使用groupby聚合时,您要分组的列会被移入索引。您应该能够使用tr_bin_dep_grouped.reset_index(inplace=True)重置索引,然后将两个数据帧合并在一起。