DataFrame的groupby()

Posted 4privetdrive

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataFrame的groupby()相关的知识,希望对你有一定的参考价值。

 

有这样一张表,“non_response_num”是真实非应答次数,“predict_non_response_num”是模型预测的非应答次数。

 

技术图片

 

 

 

想计算每个时间片内不同group_id的所有hex_center的MAE值,用groupby方法:

from sklearn import metrics

merge_df.groupby([‘time_slot‘, ‘booking_groupid‘]) 
      .apply(lambda x: metrics.mean_absolute_error(x.non_response_num, x.predict_non_response_num))
      .reset_index(name=‘MAE‘)

 

groupby后加apply,lambda匿名函数中x表示当前聚到一起的行,利用sklearn计算MAE的值。

这里groupby返回的结果是series,keys为‘time_slot‘, ‘booking_groupid‘ ,values为计算得出的MAE

想将此series转换成dataframe,有三种方法:

1、在apply()之后用.reset_index()方法,参数name是列名

2、用.to_frame()方法

3、将series的key和value取出,构建新的frame

dict = {‘index‘:test_series.keys, ‘MAE‘:test_series.values}
df = pd.DataFrame(dict)

  

第一种方法得到结果

技术图片

 

 

 

技术图片

 

以上是关于DataFrame的groupby()的主要内容,如果未能解决你的问题,请参考以下文章

Python Dataframe Groupby 均值和标准差

具有聚合唯一值的pyspark dataframe groupby [重复]

将 Pandas dataframe.groupby 结果写入 S3 存储桶

在 Panda DataFrame 中过滤 groupby 数据的有效方法

dataframegroupby怎么变为dataframe

基于pandas groupby拆分dataframe并生成多个PDF