在python中,我有一个GDP记录的数据框表,像这样

Quarter    Vaule percentage
2017Q1-Q4  100   18%
2017Q1-Q3  60    20%
2017Q1-Q2  30    15%
2017Q1-Q1  10    10%
2016Q1-Q4  10    28%
2016Q1-Q3  6     50%
2016Q1-Q2  3     45%
2016Q1-Q1  1     20%


我想要这样的输出:

Quarter    Vaule percentage
2017Q4     40    18%
2017Q3     30    20%
2017Q2     20    15%
2017Q1     10    10%
2016Q4     4     28%
2016Q3     3     50%
2016Q2     2     45%
2016Q1     1     20%


即,该值将基于其他记录的计算而更新,但百分比保持不变。

有没有有效的方法来处理这种情况。谢谢!

最佳答案

df.iloc[:-1, 1] = df['Vaule'].diff(-1)[:-1]
>>> df
     Quarter  Vaule percentage
0  2017Q1-Q4     40        18%
1  2017Q1-Q3     30        20%
2  2017Q1-Q2     20        15%
3  2017Q1-Q1      0        10%
4  2016Q1-Q4      4        28%
5  2016Q1-Q3      3        50%
6  2016Q1-Q2      2        45%
7  2016Q1-Q1      1        20%

关于python - 如何在同一数据框中使用特定条件基于另一条记录更新一条记录的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46164378/

10-15 23:26