pandas 中的pct_change的用法

Posted 苍青浪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas 中的pct_change的用法相关的知识,希望对你有一定的参考价值。

(1)df.pct_change()
DataFrame.pct_change(periods=1, fill_method=‘pad’, limit=None, freq=None, **kwargs)
表示当前元素与先前元素的相差百分比,当然指定periods=n,表示当前元素与先前n 个元素的相差百分比。
参考文档
例子:

df = pd.DataFrame({
\'FR\': [4.0405, 4.0963, 4.3149],
\'GR\': [1.7246, 1.7482, 1.8519],
\'IT\': [804.74, 810.01, 860.13]},
index=[\'1980-01-01\', \'1980-02-01\', \'1980-03-01\'])
print(df)
print(df.pct_change())
print(df.pct_change(axis=\'columns\'))#可以指定按照行还是列进行计算的

 


结果如下:

FR GR IT
1980-01-01 4.0405 1.7246 804.74
1980-02-01 4.0963 1.7482 810.01
1980-03-01 4.3149 1.8519 860.13
FR GR IT
1980-01-01 NaN NaN NaN
1980-02-01 0.013810 0.013684 0.006549
1980-03-01 0.053365 0.059318 0.061876
FR GR IT
1980-01-01 NaN -0.573172 465.624145
1980-02-01 NaN -0.573225 462.339435
1980-03-01 NaN -0.570813 463.458124

 

再举一个列子就是:

s = pd.Series([90, 91, 85])
s.pct_change(periods=2)#表示当前元素与先前两个元素百分比

 

结果:

0 NaN
1 NaN
2 -0.055556
dtype: float64


也就是(85-90)/90=-0.055556
在pandas 中的series 以及dataframe的pct_change的用法是基本相同的可以参照官方文档查看详细内容。
再看看它们的用法把。参考
Series.diff
DataFrame.diff
Series.shift
DataFrame.shift

以上是关于pandas 中的pct_change的用法的主要内容,如果未能解决你的问题,请参考以下文章

pandas使用pct_change函数计算月均值环比变化率使用matplotlib可视化特定年份的按月均值变化率(pct_change compute change rate)

ValueError:无法使用 groupy 从重复轴重新索引并在 Pandas 中应用 pct_change

Pandas 更快地将 pd.pct_change 应用于多个列和多个间隔

pandas使用pct_change函数计算数据列的百分比变化:计算当前元素和前一个元素之间的百分比变化(包含NaN值的情况以及数据填充方法)

pandas使用resample函数计算特定疾病按月花费总和pct_change函数计算特定疾病按月花费总和环比变化率并使用matplotlib可视化疾病按月花费总和环比变化率

pandas使用pivot_table函数计算特定疾病总花费在不同医疗服务实体下的跨年度费用环比变化率(pct_change function to compute change rate)