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