search
Search
Unlock 100+ guides
search toc
close
Cancel
Post
account_circle
Profile
exit_to_app
Sign out
What does this mean?
Why is this true?
Give me some examples!
search
keyboard_voice
close
Searching Tips
Search for a recipe:
"Creating a table in MySQL"
Search for an API documentation: "@append"
Search for code: "!dataframe"
Apply a tag filter: "#python"
Useful Shortcuts
/ to open search panel
Esc to close search panel
to navigate between search results
d to clear all current filters
Enter to expand content preview
Doc Search
Code Search Beta
SORRY NOTHING FOUND!
mic
Start speaking...
Voice search is only supported in Safari and Chrome.
Shrink
Navigate to

schedule Aug 11, 2023
Last updated
local_offer
PythonNumPy
Tags
expand_more
mode_heat
Master the mathematics behind data science with 100+ top-tier guides
Start your free 7-days trial now!

Numpy's `gradient(~)` method computes the gradients given data points, where the gradient is defined as the changes in y over the changes in x.

# Parameters

1. `f` | `array-like`

The function output (y-values).

2. `varargs` | `array` of `scalar` | `optional`

The spacing between the pairs of points in f. By default, `varargs=1`.

3. `edge_order` | `int` | `optional`

The order of accuracy used for the calculation at the edges. Allowed values are 1 and 2. By default, `edge_order=2`.

4. `axis` | `None` or `int` or `tuple` of `int` | `optional`

The axis along which to compute the gradient.

# Return value

A Numpy array holding the gradients of the data points.

# Examples

## Basic usage

To compute the gradient using the default step-size of 1:

``` y = [1,2,4,9,16]np.gradient(y) array([1. , 1.5, 3.5, 6. , 7. ]) ```

Behind the scenes, the numbers are computed like so:

``` (y[1] - y[0]) / 1 = 1.0(y[2] - y[0]) / 2 = 1.5(y[3] - y[1]) / 2 = 3.5(y[4] - y[2]) / 2 = 6.0(y[4] - y[3]) / 1 = 7.0 ```

Notice how at the boundaries, only the first difference is calculated.

## Specifying spacing between data-points

Instead of the default step-size of 1, we can specify our own x-values:

``` x = [5,10,20,30]y = [1,2,4,9]np.gradient(y, x) array([0.2 , 0.2 , 0.35, 0.5 ]) ```

Behind the scenes, the numbers are computed like so:

``` (y[1] - y[0]) / (x[1] - x[0]) = 0.2(y[2] - y[0]) / (x[2] - x[0]) = 0.2(y[3] - y[1]) / (x[3] - x[1]) = 0.35(y[3] - y[2]) / (x[3] - x[2]) = 0.5 ```
Edited by 0 others
thumb_up
thumb_down
Comment
Citation
Ask a question or leave a feedback...
thumb_up
2
thumb_down
1
chat_bubble_outline
0
settings
Enjoy our search
Hit / to insta-search docs and recipes!