如何使用 pandas 计算与初始值相比的变化百分比? [英] How to calculate percent change compared to the beginning value using pandas?
本文介绍了如何使用 pandas 计算与初始值相比的变化百分比?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个DataFrame
,需要计算公司与年初相比的变化百分比.有什么方法可以使用pct_change()
或其他方法来执行此任务?谢谢!
I have a DataFrame
and need to calculate percent change compared to the beginning of the year by companies. Is there any way to use pct_change()
or other method to perform this task? Thanks!
df
看起来
security date price
IBM 1/1/2016 100
IBM 1/2/2016 102
IBM 1/3/2016 108
AAPL 1/1/2016 1000
AAPL 1/2/2016 980
AAPL 1/3/2016 1050
AAPL 1/4/2016 1070
我想要的结果
security date price change
IBM 1/1/2016 100 NA
IBM 1/2/2016 102 2%
IBM 1/3/2016 108 8%
AAPL 1/1/2016 1000 NA
AAPL 1/2/2016 980 -2%
AAPL 1/3/2016 1050 5%
AAPL 1/4/2016 1070 7%
推荐答案
Sounds like you are looking for an expanding_window
version of pct_change()
. This doesn't exist out of the box AFAIK, but you could roll your own:
df.groupby('security')['price'].apply(lambda x: x.div(x.iloc[0]).subtract(1).mul(100))
这篇关于如何使用 pandas 计算与初始值相比的变化百分比?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文