熊猫:按特定行获取百分比值

时间:2020-06-22 18:14:10

标签: python pandas

我尝试根据最小和最大列获取列值的百分位数

import pandas as pd
d = {'value': [20, 10, -5, ],
     'min': [0, 10, -10,],
    'max': [40, 20, 0]}
df = pd.DataFrame(data=d)
df

我获得一个新列“ percentile”,如下所示:

d = {'value': [20, 10, -5, ],
 'min': [0, 10, -10,],
'max': [40, 20, 0],
'percentile':[50, 0, 50]}
df_res = pd.DataFrame(data=d)
df_res

谢谢

1 个答案:

答案 0 :(得分:1)

您需要偏移最小值,以使其成为值和最大值之间的比率。你可以做:

df['percentile'] = (df['value'] - df['min']) / (df['max'] - df['min']) * 100