Python 如何使用旧数据帧中的值计算新数据帧?

Python 如何使用旧数据帧中的值计算新数据帧?,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,因此,我有一个具有特定值的数据帧,我想创建一个与旧数据帧有百分比差异的新数据帧 我现有的数据帧是这样的: Years A B C D E 2020 801.566522 769.2986786 830.8725406 830.8725406 840.7192069 2021-2030 786.3122361 759.3832642 826.2453567 826.2453567

因此,我有一个具有特定值的数据帧,我想创建一个与旧数据帧有百分比差异的新数据帧

我现有的数据帧是这样的:

Years          A              B          C           D          E
2020        801.566522  769.2986786 830.8725406 830.8725406 840.7192069
2021-2030   786.3122361 759.3832642 826.2453567 826.2453567 838.7446964
2031-2050   787.6490105 759.1486884 827.4489946 827.4489946 839.8352851
2041-2050   775.1016567 745.1193567 817.2389842 817.2389842 831.9880991
新的数据框架应该计算2020年的值与随后几十年的值之间的百分比差异,应该是这样的

Years           A                 B               C                D            E
2021-2030   -0.019030593    -0.012888901    -0.005569066    -0.005569066    -0.002348597
2031-2050   -0.01736289     -0.013193823    -0.004120423    -0.004120423    -0.001051388
2041-2050   -0.03301643     -0.031430344    -0.016408722    -0.016408722    -0.010385284
我可以在excel中很容易地完成这项工作,但是因为我有大量的这些文件,所以我想用python来代替。有人能帮我解决这个问题吗?

就这么办

df=yourdataframe.pct\u change()

dataframe的第一行将是NaN值,如果您希望保持刚才显示的格式,则为NaN

yourdataframe=df.iloc[1:][/code>


这将删除数据帧的第一行

谢谢,这工作做得很好我几天前才回到这项工作,虽然这个解决方案很好而且简洁,但它计算当前行和以前行之间的差异,而我正在寻找与第一行之间的百分比差异。把这个放在这里,以防其他人使用这个解决方案