# Baseline Subtraction in Python/v3

Learn how to subtract baseline estimates from data in Python.

See our Version 4 Migration Guide for information about how to upgrade.

#### New to Plotly?Â¶

You can set up Plotly to work in online or offline mode, or in jupyter notebooks.
We also have a quick-reference cheatsheet (new!) to help you get started!

#### ImportsÂ¶

The tutorial below imports NumPy, Pandas, SciPy and PeakUtils.

In [1]:
import plotly.plotly as py
import plotly.graph_objs as go
import plotly.tools as tools
import plotly.figure_factory as ff

import numpy as np
import pandas as pd
import scipy
import peakutils


#### Import DataÂ¶

As with our baseline detection example, we will import some data on milk production by month:

In [2]:
milk_data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/monthly-milk-production-pounds.csv')
time_series = milk_data['Monthly milk production (pounds per cow)']
time_series = np.asarray(time_series)

df = milk_data[0:15]

table = ff.create_table(df)
py.iplot(table, filename='milk-production-dataframe')

Out[2]:

#### Plot with BaselineÂ¶

To subtact a baseline estimate from our data, it is a good idea to first we must first calculate the baseline values then plot the data with the baseline drawn in.

In [4]:
baseline_values = peakutils.baseline(time_series)

trace = go.Scatter(
x=[j for j in range(len(time_series))],
y=time_series,
mode='lines',
marker=dict(
color='#547C66',
),
name='Original Plot'
)

trace2 = go.Scatter(
x=[j for j in range(len(time_series))],
y=baseline_values,
mode='markers',
marker=dict(
size=3,
color='#EB55BF',
symbol='circle-open'
),
name='Baseline'
)

data = [trace, trace2]
py.iplot(data, filename='milk-production-plot-with-baseline')

Out[4]:

#### Baseline SubtractionÂ¶

In [5]:
baseline_values = peakutils.baseline(time_series)

trace = go.Scatter(
x=[j for j in range(len(time_series))],
y=time_series,
mode='lines',
marker=dict(
color='#547C66',
),
name='Original Plot'
)

trace2 = go.Scatter(
x=[j for j in range(len(time_series))],
y=baseline_values,
mode='markers',
marker=dict(
size=3,
color='#EB55BF',
symbol='circle-open'
),
name='Baseline'
)

data = [trace, trace2]
py.iplot(data, filename='milk-production-plot-with-baseline')

Out[5]: