<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Title
Step1:  Create Dataframe
Step2:  Create Functions To Process Data
Step3:  Create A Pipeline Of Those Functions
<ASSISTANT_TASK:>
Python Code:
import pandas as pd
Explanation: Title: Create A Pipeline In Pandas
Slug: pandas_create_pipeline
Summary: Create a pipeline in pandas.
Date: 2017-01-16 12:00
Category: Python
Tags: Data Wrangling
Authors: Chris Albon   
Pandas' pipeline feature allows you to string together Python functions in order to build a pipeline of data processing.
Preliminaries
End of explanation
# Create empty dataframe
df = pd.DataFrame()
# Create a column
df['name'] = ['John', 'Steve', 'Sarah']
df['gender'] = ['Male', 'Male', 'Female']
df['age'] = [31, 32, 19]
# View dataframe
df
Explanation: Create Dataframe
End of explanation
# Create a function that
def mean_age_by_group(dataframe, col):
    # groups the data by a column and returns the mean age per group
    return dataframe.groupby(col).mean()
# Create a function that
def uppercase_column_name(dataframe):
    # Capitalizes all the column headers
    dataframe.columns = dataframe.columns.str.upper()
    # And returns them
    return dataframe
Explanation: Create Functions To Process Data
End of explanation
# Create a pipeline that applies the mean_age_by_group function
(df.pipe(mean_age_by_group, col='gender')
   # then applies the uppercase column name function
   .pipe(uppercase_column_name)
)
Explanation: Create A Pipeline Of Those Functions
End of explanation
<END_TASK>