## Introduction to the `is_monotonic_increasing`

Function

When working with data in Python, the pandas library provides a plethora of powerful functions for data manipulation and analysis. One such function is `is_monotonic_increasing()`

. This function is used to determine whether a given pandas Series or Index object is monotonically increasing or not. In mathematical terms, a sequence is monotonically increasing if each element is greater than or equal to the previous element.

The `is_monotonic_increasing()`

function returns `True`

if the data is monotonically increasing and `False`

otherwise. It is particularly useful in scenarios where you need to ensure that data is ordered in an increasing manner, such as time series data or data that should follow a specific progression.

In this tutorial, we will delve into the details of the `is_monotonic_increasing()`

function, understand its parameters, and explore examples to demonstrate its usage.

## Table of Contents

- What is Monotonicity?
- The
`is_monotonic_increasing()`

Function- Syntax
- Parameters
- Return Value

- Examples
- Checking Monotonicity of Numeric Data
- Verifying Monotonicity in DateTime Index

- Conclusion

## 1. What is Monotonicity?

Before we dive into the `is_monotonic_increasing()`

function, let’s understand the concept of monotonicity. In mathematics, a sequence is said to be **monotonically increasing** if each term in the sequence is greater than or equal to the preceding term. Mathematically, for a sequence x_{1}, x_{2}, …, x_{n}, it is monotonically increasing if x_{i} ≤ x_{i+1} for all 1 ≤ i < n. A similar concept applies to data sets where each element in the dataset should be greater than or equal to the previous element.

## 2. The `is_monotonic_increasing()`

Function

### A. Syntax

The syntax of the `is_monotonic_increasing()`

function is as follows:

`pandas.Series.is_monotonic_increasing(self, skipna=True)`

### B. Parameters

The function takes one optional parameter:

`skipna`

(boolean, default=True): This parameter indicates whether to exclude NaN values from consideration when checking monotonicity. If set to`True`

, NaN values are ignored. If set to`False`

, presence of NaN values will result in the function returning`False`

.

### C. Return Value

The function returns a boolean value indicating whether the Series or Index is monotonically increasing (`True`

) or not (`False`

).

## 3. Examples

### A. Checking Monotonicity of Numeric Data

Let’s begin by considering a scenario where we have a pandas Series containing numeric data, and we want to determine if the data is monotonically increasing.

```
import pandas as pd
# Create a pandas Series
data = pd.Series([1, 3, 5, 7, 7, 9])
# Check if the data is monotonically increasing
result = data.is_monotonic_increasing()
print("Is the data monotonically increasing?", result)
```

In this example, the `data`

Series contains `[1, 3, 5, 7, 7, 9]`

. The `is_monotonic_increasing()`

function will return `True`

because the data is indeed monotonically increasing. Each element is greater than or equal to the previous element.

### B. Verifying Monotonicity in DateTime Index

Another common use case is checking the monotonicity of a DateTime Index, which is often encountered in time series data.

```
import pandas as pd
# Create a DataFrame with a DateTime Index
date_range = pd.date_range(start='2023-01-01', periods=5, freq='D')
data = {'values': [10, 20, 15, 30, 25]}
df = pd.DataFrame(data, index=date_range)
# Check if the DateTime Index is monotonically increasing
result = df.index.is_monotonic_increasing()
print("Is the DateTime Index monotonically increasing?", result)
```

In this example, we have created a DataFrame with a DateTime Index and corresponding values. The `is_monotonic_increasing()`

function is applied to the DateTime Index, and it will return `True`

because the DateTime Index is monotonically increasing. The dates are in ascending order.

## 4. Conclusion

The `is_monotonic_increasing()`

function in pandas is a handy tool to determine whether a given Series or Index adheres to the monotonically increasing pattern. This function is particularly useful for data quality control, especially when dealing with time series data or any dataset where the order of elements matters. By understanding its syntax, parameters, and return value, you can easily incorporate this function into your data analysis workflows to ensure the integrity of your data sequences.