在Python中计算数据框每列最后一个元素的百分位排名

-4 投票
1 回答
1635 浏览
提问于 2025-04-18 13:52

我有一个数据表叫做df。这个数据表有1000行和20列。行代表日期,20列则是不同的股票。

这些数据是从旧到新的1000个日期的股票价格(最后一行是今天的价格)。

我想计算每一列中,今天的价格(每列的最后一个元素)在该列所有历史价格中的百分位排名。举个例子,我们输出的第一个值就是第一列最后一个值在第一列所有值中的百分位排名,依此类推。

所以输出结果将是20个值,表示今天的价格在整个股票历史中的20个百分位排名。

1 个回答

1

很难确定你想要什么样的输出,不过这个代码会给你一个1行20列的数据表(DataFrame),其中唯一的一行是最新的一天,而每一列的值则是该列数据在所有历史数据中的百分比排名。假设你有一个1000行20列的数据表,数据是从最旧到最新排序的……

data.rank().tail(1).div(len(data))

撰写回答