csv(下面的示例)显示给定星期(星期结束日期)内项目的绝对误差。如csv所示,一个项目属于一个部门,而一个部门有多个项目:
我要做的是创建一个新的dataframe,它包含以下字段:
mdse_dept_ref_i week_end_date average_ABSError num_items_in_department
以下是我能做的:
new_df = df.loc[df['mdse_dept_ref_i'] == 47]
num_items = new_df.groupby('week_end_date').size()
avg_abs_error = new_df.groupby(['week_end_date'])['ABSError'].mean()
new_df = num_items.to_frame().join(avg_abs_error.to_frame())
但是,我不知道如何自动为所有部门创建一个数据帧,因为最终我希望看到一个部门中的项目数是如何影响平均错误的,并且能够看到性能最差的部门。另外,当我执行groupby('week_end_date')
时,week_end_date
成为一个索引,而我希望它成为新数据帧中的一个字段,以便在打印时使用它。有人能帮我吗?你知道吗
我认为您需要^{} +^{} ,然后} 到原始
rename
列和最后^{df
:Pandas的groupby允许您按多个字段进行分组:
实际上,您可以将参数
as_index = False
传递给.groupby
,但这在使用.size()
时没有效果,因此我们必须稍后重置索引。你知道吗相关问题 更多 >
编程相关推荐