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

标签 python pandas dataframe

我有一个包含 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

关于python - 将百分位值分配给python中的一长串股票,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45559088/

相关文章:

python - 类型错误 : __init__() takes 3 positional arguments but 4 were given

python - 将嵌套字典中的键和值从列表格式获取到数据帧中

python - 在大尺寸数据框上填充多列默认值的有效方法

python - 根据另一个数据框的内容向 pandas 数据框添加一列

Python Pandas : labeling categorical values based on legend dataframe

python - Pygame - 如何均匀地分布随机生成的平台?

python - 在 Autodesk Maya 等 Python 环境中使用 Nose 运行单元测试?

python - pandas 从 csv 文件中读取 MultiIndex 数据

python - 如何有条件地切片 pandas 中的数据框

python - 在python中以任意音高合成声音