• 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)
    

      

    第一种方法得到结果

  • 相关阅读:
    HDU 3833 YY's new problem ()
    从文件读入16进制数转化为10进制数再输出到文件中
    UESTC 1215 (思维题 旋转)
    HDU2067卡特兰数
    HDU2050离散数学折线分割平面
    cshell学习
    C++学习1
    QT学习1
    QT Creator常用快捷键
    Ubuntu14.04安装QT5.5
  • 原文地址:https://www.cnblogs.com/4PrivetDrive/p/13140753.html
Copyright © 2020-2023  润新知