Pandas groupby 自定义聚合函数

# 自定义聚合函数,
# n.i.o 出现次数0 -> 0
# n.i.o 出现次数1 -> 进一步判断
# n.i.o 出现次数大于2 -> 2
# 此函数需进一步扩展,出现次数大于2的,需要根据计划频率,判断是否在一次连续测试内
def peak_peak(arr,df):
    # 判断arr的series值中是否包含'n.i.o'
    x = list(arr).count('n.i.O.')
    # 只包含一个,条件放行
    if x == 1:
        return 1
    # 包含多个,需进一步判断
    elif x > 1:
        state = func(arr,df)
        return state
    # 不包含,合格
    else:
        return 0

#直接聚合,使用apply自定义聚合函数
dff = df['Result'].groupby(df['Standard']).apply(peak_peak,df)

原数据df表格如下:
Pandas groupby 自定义聚合函数_第1张图片
处理后dff数据如下:
Pandas groupby 自定义聚合函数_第2张图片

你可能感兴趣的:(Pandas,python)