我有两个数据框:tr
是训练集,ts
是测试集。它们包含列uid
(a user_id)、categ
(a categorical) 和response
.
response
是我试图在 ts 中预测的因变量。
我正在尝试计算按列划分的response
in的平均值,并且:tr
uid
categ
avg_response_uid_categ = tr.groupby(['uid','categ']).response.mean()
这给出了结果,但(不必要地)数据帧索引是 MultiIndex。(这是groupby(..., as_index=True)
行为):
MultiIndex[--5hzxWLz5ozIg6OMo6tpQ SomeValueOfCateg, --65q1FpAL_UQtVZ2PTGew AnotherValueofCateg, ...
但相反,我希望结果保留两列“uid”、“categ”并将它们分开。
我应该使用aggregate()
而不是groupby()
吗?尝试groupby(as_index=False)
是没有用的。