Skip to content

Commit 7c7e9dc

Browse files
committed
DOC: update the pandas.DataFrame.diff docstring
1 parent 5b0caf4 commit 7c7e9dc

File tree

1 file changed

+67
-2
lines changed

1 file changed

+67
-2
lines changed

pandas/core/frame.py

Lines changed: 67 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4722,12 +4722,17 @@ def melt(self, id_vars=None, value_vars=None, var_name=None,
47224722

47234723
def diff(self, periods=1, axis=0):
47244724
"""
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).
47264730
47274731
Parameters
47284732
----------
47294733
periods : int, default 1
4730-
Periods to shift for forming difference
4734+
Periods to shift for calculating difference, accepts negative
4735+
values.
47314736
axis : {0 or 'index', 1 or 'columns'}, default 0
47324737
Take difference over rows (0) or columns (1).
47334738
@@ -4736,6 +4741,66 @@ def diff(self, periods=1, axis=0):
47364741
Returns
47374742
-------
47384743
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
47394804
"""
47404805
bm_axis = self._get_block_manager_axis(axis)
47414806
new_data = self._data.diff(n=periods, axis=bm_axis)

0 commit comments

Comments
 (0)