pandas 學習 第13篇:計算元素之間的差值、比值


對於數據框,可以按照行或列,計算相鄰兩個元素的之間的差值或變化百分比,

有如下數據框:

>>> df = pd.DataFrame({'a': [1, 2, 3, 4, 5, 6],
...                    'b': [1, 1, 2, 3, 5, 8],
...                    'c': [1, 4, 9, 16, 25, 36]})
>>> df
   a  b   c
0  1  1   1
1  2  1   4
2  3  2   9
3  4  3  16
4  5  5  25
5  6  8  36

一,計算元素之間的差值

計算數據框兩個元素之間的差值,默認為上一行中的元素:

DataFrame.diff(periods=1, axis=0)

參數注釋:

periods:默認值是1,平移的區間,periods為正整數表示向前平移,為負整數表示向后平移。

axis:平移的軸,axis=0,表示按照row進行平移,axis=1,表示按照列進行平移

默認情況下,計算當前元素和前一個元素的差值:

>>> df.diff()
     a    b     c
0  NaN  NaN   NaN
1  1.0  0.0   3.0
2  1.0  1.0   5.0
3  1.0  1.0   7.0
4  1.0  2.0   9.0
5  1.0  3.0  11.0

二,計算元素之間的比值

當前元素和先前元素之間變化的比值,公式是 (current value - previsou value)/ previsou value, 默認情況下,計算與前一行的變化的百分比:

DataFrame.pct_change(periods=1, fill_method='pad', limit=None, freq=None, **kwargs)

參數注釋:

  • periods:平移的距離,默認值是1
  • fill_method:如何處理NA,默認值是pad
  • limit:填充的最大NA的數量,如果NA的數量大於limit,那么停止填充NA元素

計算當前元素和前一個元素的變化的百分比:

>>> df.pct_change()
          a         b         c
0       NaN       NaN       NaN
1  1.000000  0.000000  3.000000
2  0.500000  1.000000  1.250000
3  0.333333  0.500000  0.777778
4  0.250000  0.666667  0.562500
5  0.200000  0.600000  0.440000

 

 

 

 

 

 

參考文檔:

pandas DataFrame


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM