看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas.DataFrame.pct_change
方法用于计算当前元素与前一个元素之间的百分比变化,通常用于时间序列数据的趋势分析或比较不同时间点的增长率。
当前元素和先前元素之间的分数变化。默认情况下,计算前一行的分数变化。这在比较元素时间序列中的变化分数时很有用。
DataFrame.pct_change(
periods=1,
fill_method='pad',
limit=None,
freq=None,
**kwargs
)
periods
: (int, 默认值 1)
表示计算百分比变化时要偏移的周期数。默认情况下,periods=1
表示计算当前行与上一行之间的百分比变化。如果设置为 2
,则计算当前行与前两行之间的百分比变化。
fill_method
: (str, 默认值 'pad')
指定在计算百分比变化之前如何处理缺失值。默认使用 'pad' 方法,即前向填充缺失数据。其他可选方法包括 'backfill'、'ffill' 和 'bfill'。自2.1版本起已弃用:fill_method的所有选项均已弃用,但fill_method=None除外,还是支持的。
limit
: (int, 可选)
填充缺失值时允许的最大连续缺失值数量。控制填充缺失值的范围。自2.1版本起已弃用。
freq
: (DateOffset, timedelta, 或 offset alias string, 可选)
用于指定时间序列数据的频率,比如 'M' 表示月末,'B' 表示工作日。这在处理时间序列数据时非常有用。
****kwargs
**:
传递给底层 shift() 方法的其他关键字参数。
chg
:尽管这种方法的名字是百分比,但它计算的是分数变化(也称为单位变化或相对变化),而不是百分比变化。如果需要百分比变化,请将这些值乘以100。
s = pd.Series([90, 91, 85])
s
'''
0 90
1 91
2 85
dtype: int64
'''
s.pct_change()
'''
0 NaN
1 0.011111
2 -0.065934
dtype: float64
'''
s.pct_change(periods=2)
'''
0 NaN
1 NaN
2 -0.055556
dtype: float64
'''
序列中的百分比变化,其中用上一个有效观察值填充NA,并向前填充下一个有效观测值。
s = pd.Series([90, 91, None, 85])
s
'''
0 90.0
1 91.0
2 NaN
3 85.0
dtype: float64
'''
s.ffill().pct_change()
'''
0 NaN
1 0.011111
2 0.000000
3 -0.065934
dtype: float64
'''
1980-01-01年至1980-03-01年法国法郎、德国马克和意大利里拉的百分比变化。
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'])
df
'''
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
'''
df.pct_change()
'''
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
'''
GOOG和APPL库存量的变化百分比。显示如何计算列之间的百分比变化。
df = pd.DataFrame({
'2016': [1769950, 30586265],
'2015': [1500923, 40912316],
'2014': [1371819, 41403351]},
index=['GOOG', 'APPL'])
df
'''
2016 2015 2014
GOOG 1769950 1500923 1371819
APPL 30586265 40912316 41403351
'''
df.pct_change(axis='columns', periods=-1)
'''
2016 2015 2014
GOOG 0.179241 0.094112 NaN
APPL -0.252395 -0.011860 NaN
'''
pct_change
方法在处理时间序列或连续数据时非常有用,能够有效分析数据的增长趋势和百分比变化。适用于财务分析、经济指标评价以及业务指标监测等场景。
更新时间:2024-08-10 13:39:09 标签:pandas python 百分比 变化