如何计算Pandas DataFrame中行之间的百分比增长?

我有一个数据框,例如:

 A   B(int64)
 1   100
 2   150
 3   200

现在我需要计算增长率并将其设置为其他列,例如:

 A    C
 1   naN
 2   50%
 3  33.33%

我该如何实现?非常感谢您的帮助!

lg208888 回答:如何计算Pandas DataFrame中行之间的百分比增长?

Series.pct_change100Series.mul乘以Series.round并四舍五入:

df['C'] = df.B.pct_change().mul(100).round(2)
print (df)
   A    B      C
0  1  100    NaN
1  2  150  50.00
2  3  200  33.33

要为百分比添加mapformat,并使用NaN != NaN处理缺失值:

df['C'] = df.B.pct_change().mul(100).round(2).map(lambda x: '{0:g}%'.format(x) if x==x else x)
print (df)
   A    B       C
0  1  100     NaN
1  2  150     50%
2  3  200  33.33%
本文链接:https://www.f2er.com/3160634.html

大家都在问