<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 TL;DR
Step1:  Here we eliminate any article published more recently than last Friday or any article published before Erik joined the company. This is done in order to allow a fair, apples-to-apples comparison. We also remove any article authored by Erik from the "All" dataset.
Step2:  Above we see that, at first glance, the median Erik article receives about 800 fewer Page Views than the rest of our data set.
Step3:  Here we plot the Page Views received per article while eliminating outliers (both high and low).
Step4:  And here we plot the Facebook Shares per article, also eliminating outliers.
Step5:  Finally, we plot both the Page Views and Facebook Shares with outliers included (indicated by the "+" symbols above the respective box plots).
<ASSISTANT_TASK:>
Python Code:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
df_all = pd.read_csv('All content.csv')
df_erik = pd.read_csv('Erik content.csv')
Explanation: TL;DR: Erik's articles perform poorly when compared to the rest of our articles published in the same time period.
While he is responsible for the largest outlier in this period, when outlier values are eliminated from each dataset, Erik-written articles receive fewer Page Views or Facebook Shares than the rest of the content. 
While both Erik and All contents' 1st quartile are quite similar, Erik's articles' performance are clustered at the lower-end of the traffic scale.
End of explanation
df_all = df_all[(df_all.Published > df_erik.at[6,'Published']) & 
                (df_all['Url'].str.contains('/articles/')) & (df_all.Published < df_erik.at[16,'Published']) & 
                (df_all.Title[~df_all.Title.isin(df_erik.Title)])]
df_erik = df_erik[(df_erik.Published < df_erik.at[16,'Published'])] 
print 'All PVs median'
print df_all['Page Views'].median()
print 'Erik PVs median'
print df_erik['Page Views'].median()
Explanation: Here we eliminate any article published more recently than last Friday or any article published before Erik joined the company. This is done in order to allow a fair, apples-to-apples comparison. We also remove any article authored by Erik from the "All" dataset.
End of explanation
df_all['Page Views'].describe()
df_erik['Page Views'].describe()
Explanation: Above we see that, at first glance, the median Erik article receives about 800 fewer Page Views than the rest of our data set.
End of explanation
d = {'erik':df_erik['Page Views'],'all':df_all['Page Views']}
df = pd.DataFrame(data=d)
df.plot(kind='box',showfliers=False, title = "Page Views Distribution")
Explanation: Here we plot the Page Views received per article while eliminating outliers (both high and low).
End of explanation
shares = {'erik shares':df_erik['Facebook Shares'],'all_shares':df_all['Facebook Shares']}
df_shares = pd.DataFrame(data=shares)
df_shares.plot(kind='box',showfliers=False, title = "Facebook Shares Distribution")
Explanation: And here we plot the Facebook Shares per article, also eliminating outliers.
End of explanation
d = {'erik':df_erik['Page Views'],'all':df_all['Page Views']}
df = pd.DataFrame(data=d)
df.plot(kind='box',showfliers=True, title = "Page Views Distribution")
shares = {'erik shares':df_erik['Facebook Shares'],'all_shares':df_all['Facebook Shares']}
df_shares = pd.DataFrame(data=shares)
df_shares.plot(kind='box',showfliers=True, title = "Facebook Shares Distribution")
Explanation: Finally, we plot both the Page Views and Facebook Shares with outliers included (indicated by the "+" symbols above the respective box plots).
End of explanation
<END_TASK>