假设有以上的数据,蓝底的是PERCENTRANK.EXC的结果,我们要用python计算该值,则可以按照如下方式解决
import pandas as pd
df = pd.DataFrame([[10,3],[11,4],[12,5],[13,6],[14,'']],
index=[1,2,3,4,5],columns=['size','num'])
size_df = df['size']
num_df = df['num']
# 注意到上面的num缺少一个数字,那么会导致dataframe转换过程中
# 出错,但是我们又需要用到,所以不能ignore该error,要用errors
# 为'coerce'设置该值为NaN,
size_pct = pd.to_numeric(size_df,errors='coerce').rank(pct=True)
num_pct = pd.to_numeric(num_df,errors='coerce').rank(pct=True)
建议大家不要用弃用的
convert_objects(convert_numeric=True)
处理问题,要不然运行后一堆警告