Skip to main content
 首页 » 编程设计

python之将百分位值分配给python中的一长串股票

2025年05月04日16soundcode

我有一个包含 700 多只股票的 list :

excesslist.nlargest(5) 
OLED    4.551521 
NBIX    4.538618 
ALNY    4.526540 
AMD     4.502308 
IONS    4.484968 
... 

我想为每只股票赋予一个值(1/100%)。例如,前 1% 的得分为 .99,前 2% 的得分为 .98……后 1% 的得分为 .01。

无法使用 np.percentile 来增加 ea 值,只能坚持手动执行,并且不确定如何分配值:

In: np.percentile(excesslist,[0,1,2,3]) 
 
Out: array([ 0.72803527,  0.78873332,  0.83364907,  0.85492285]) 

预期输出是要为列表的 ea 1/100% 分配一个公共(public)值

请您参考如下方法:

初始化一个dataframe,然后使用df.qcut :

df = pd.DataFrame({'Stocks' : excesslist}) 
df['Percentile'] = pd.qcut(df.Stocks, 100, labels=False) / 100