我的问题是关于如何加入由groupby
方法以及sum()
和max()
函数创建的2个数据框。
案例是: 我有第一个具有下一个结构的数据框:
第二个具有相同结构,但不是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之后的错误数据结构,但我不明白如何以正确的方式进行。
答案 0 :(得分:1)
使用groupby
聚合时,您要分组的列会被移入索引。您应该能够使用tr_bin_dep_grouped.reset_index(inplace=True)
重置索引,然后将两个数据帧合并在一起。