栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Python / Pandas中创建部分SAS PROC Summary替换

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Python / Pandas中创建部分SAS PROC Summary替换

好吧,这是一个可以解决两个问题的快捷方式(但对于加权均值仍然需要使用其他功能)。通常,它使用此处的技巧(贷记@DSM)来执行操作以避开空的组

groupby(lamda x:True)
。如果在手段之类的东西上存在“权重”的扭曲,但据我所知没有,那将是很棒的。显然有是提到加权位数包这里基于numpy的,但我不知道这件事。伟大的项目顺便说一句!

(请注意,名称与您的名称基本相同,我只是在wmean_grouped和my_summary中添加了“ 2”,否则您可以使用相同的调用接口)

def wmean_grouped2 (group, var_name_in, var_name_weight):    d = group[var_name_in]    w = group[var_name_weight]    return (d * w).sum() / w.sum()FUNCS = { "mean"  : np.mean ,          "sum"   : np.sum ,          "count" : np.count_nonzero }def my_summary2 (        data ,        var_names_in ,        var_names_out ,        var_functions ,        var_name_weight = None ,        var_names_group = None ):    result = pd.Dataframe()    if var_names_group is None:        grouped = data.groupby (lambda x: True)    else:        grouped = data.groupby (var_names_group)    for var_name_in, var_name_out, var_function in  zip(var_names_in,var_names_out,var_functions):        if var_function == "wmean": func = lambda x : wmean_grouped2 (x, var_name_in, var_name_weight) result[var_name_out] = pd.Series(grouped.apply(func))        else: func = FUNCS[var_function] result[var_name_out] = grouped[var_name_in].apply(func)    return result


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/662559.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号