@@ -4722,12 +4722,17 @@ def melt(self, id_vars=None, value_vars=None, var_name=None,
4722
4722
4723
4723
def diff (self , periods = 1 , axis = 0 ):
4724
4724
"""
4725
- 1st discrete difference of object
4725
+ First discrete difference of object.
4726
+
4727
+ Calculates the difference of a DataFrame object compared with another
4728
+ object in the DataFrame (default is object in same column of the
4729
+ previous row).
4726
4730
4727
4731
Parameters
4728
4732
----------
4729
4733
periods : int, default 1
4730
- Periods to shift for forming difference
4734
+ Periods to shift for calculating difference, accepts negative
4735
+ values.
4731
4736
axis : {0 or 'index', 1 or 'columns'}, default 0
4732
4737
Take difference over rows (0) or columns (1).
4733
4738
@@ -4736,6 +4741,66 @@ def diff(self, periods=1, axis=0):
4736
4741
Returns
4737
4742
-------
4738
4743
diffed : DataFrame
4744
+
4745
+ Examples
4746
+ --------
4747
+ Difference with previous row
4748
+
4749
+ >>> df = pd.DataFrame([[1, 1, 1], [2, 1, 4], [3, 2, 9], [4, 3, 16],
4750
+ ... [5, 5, 25], [6, 8, 36]], columns=['Seq', 'Fib', 'Sqr'])
4751
+ >>> df
4752
+ Seq Fib Sqr
4753
+ 0 NaN NaN NaN
4754
+ 1 1.0 0.0 3.0
4755
+ 2 1.0 1.0 5.0
4756
+ 3 1.0 1.0 7.0
4757
+ 4 1.0 2.0 9.0
4758
+ 5 1.0 3.0 11.0
4759
+ >>> df.diff()
4760
+ Seq Fib Sqr
4761
+ 0 NaN NaN NaN
4762
+ 1 1.0 0.0 3.0
4763
+ 2 1.0 1.0 5.0
4764
+ 3 1.0 1.0 7.0
4765
+ 4 1.0 2.0 9.0
4766
+ 5 1.0 3.0 11.0
4767
+
4768
+ Difference with previous column
4769
+
4770
+ >>> df.diff(axis=1)
4771
+ Seq Fib Sqr
4772
+ 0 NaN 0.0 0.0
4773
+ 1 NaN -1.0 3.0
4774
+ 2 NaN -1.0 7.0
4775
+ 3 NaN -1.0 13.0
4776
+ 4 NaN 0.0 20.0
4777
+ 5 NaN 2.0 28.0
4778
+
4779
+ Difference with 3rd previous row
4780
+
4781
+ >>> df.diff(periods=3)
4782
+ Seq Fib Sqr
4783
+ 0 NaN NaN NaN
4784
+ 1 NaN NaN NaN
4785
+ 2 NaN NaN NaN
4786
+ 3 3.0 2.0 15.0
4787
+ 4 3.0 4.0 21.0
4788
+ 5 3.0 6.0 27.0
4789
+
4790
+ Difference with following row
4791
+
4792
+ >>> df.diff(periods=-1)
4793
+ Seq Fib Sqr
4794
+ 0 -1.0 0.0 -3.0
4795
+ 1 -1.0 -1.0 -5.0
4796
+ 2 -1.0 -1.0 -7.0
4797
+ 3 -1.0 -2.0 -9.0
4798
+ 4 -1.0 -3.0 -11.0
4799
+ 5 NaN NaN NaN
4800
+
4801
+ See Also
4802
+ --------
4803
+ Series.diff
4739
4804
"""
4740
4805
bm_axis = self ._get_block_manager_axis (axis )
4741
4806
new_data = self ._data .diff (n = periods , axis = bm_axis )
0 commit comments