Python,应用函数和百分位数计算

2024-09-29 19:25:03 发布

您现在位置:Python中文网/ 问答频道 /正文

这里我有一个函数,它基于数据帧中的其他两列计算百分位列: 对于每一行,该函数只使用最后20行重新创建一个迷你df,计算每个行的绝对差值,然后为当前行指定一个百分位。你知道吗

我是被一个回答之前一个问题的人建议重新提出关于申请的更具体的问题的

grid = np.random.rand(40,2)
full = pd.DataFrame(grid, columns=['value'])

def percentile(x, df):
    if int(x.name)<20:
        pass
    else:
        df_temp = df.loc[(int(x.name)-20):int(x.name),'value']
        bucketted = [b for b  in df_temp.value if b < df_temp.loc[int(x.name), 'value']]
        return len(bucketted)/0.2        

full['percentile'] = full.apply(percentile, axis=1, args=(full,))

出于对知识的好奇心-既然这是可行的-如果有人有更整洁/更快的方法来解决问题。你知道吗


Tags: 数据函数namedfifvaluetemploc

热门问题