我目前有一张桌子
INDEX Open
2018-12-31 0 104.000
2019-01-02 1 105.000
2019-01-03 2 111.000
2019-01-04 3 110.000
在每个项目的打开栏中,如何比较第一项和第二项?我目前有一个带计数器的循环,只要(计数器-1)大于0,就可以使用计数器-1将其与上一个项目进行比较,因此我不会得到索引超出范围的错误。我想比较这些项目,然后计算出它们与第二天的百分比差异,然后将结果作为新列添加到数据库中
结果应为
INDEX Open %Change
2018-12-31 ..... 0 .... 104.000 .... Nothing because 1st item nothing to compare too
2019-01-02 ..... 1 .... 105.000 .... .96
2019-01-03 ..... 2 .... 111.000 .... 5.71
2019-01-04 ..... 3 .... 110.000 .... -0.9
因此,我想将索引1与索引0进行比较,并计算出%的变化,以便在整个表中始终保持105/104-1 * 100。我确信有办法做到这一点,但我还没有弄清楚,任何帮助将不胜感激。
答案 0 :(得分:0)
熊猫有一个功能可以做到这一点:
df.Open.pct_change()
#2018-12-31 NaN
#2019-01-02 0.009615
#2019-01-03 0.057143
#2019-01-04 -0.009009