<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Import the BigBang modules as needed. These should be in your Python environment if you've installed BigBang correctly.
Step1:  Also, let's import a number of other dependencies we'll use later.
Step2:  Now let's load the data for analysis. Load the Archive, the get the count of number of emails sent per day (the 'activity').
Step3:  How can we plot the number of participants over time?
This depends on what we mean. Suppose by 'participant' we mean people who are actively emailing the list. This is something we can derive from the activity data. We just have to make sure to count only unique email senders rather than total number of emails sent.
Step4:  This variable is for the range of days used in computing rolling averages.
Step5:  For each of the mailing lists we are looking at, plot the rolling average of number of emails sent per day.
<ASSISTANT_TASK:>
Python Code:
import bigbang.mailman as mailman
import bigbang.graph as graph
import bigbang.process as process
from bigbang.parse import get_date
#from bigbang.functions import *
from bigbang.archive import Archive
Explanation: Import the BigBang modules as needed. These should be in your Python environment if you've installed BigBang correctly.
End of explanation
import pandas as pd
import datetime
import matplotlib.pyplot as plt
import numpy as np
import math
import pytz
import pickle
import os
pd.options.display.mpl_style = 'default' # pandas has a set of preferred graph formatting options
Explanation: Also, let's import a number of other dependencies we'll use later.
End of explanation
arx = Archive("https://lists.wikimedia.org/pipermail/wikimedia-l/",archive_dir="../archives")
acts = arx.get_activity()
Explanation: Now let's load the data for analysis. Load the Archive, the get the count of number of emails sent per day (the 'activity').
End of explanation
participants = (acts > 0).sum(1)
Explanation: How can we plot the number of participants over time?
This depends on what we mean. Suppose by 'participant' we mean people who are actively emailing the list. This is something we can derive from the activity data. We just have to make sure to count only unique email senders rather than total number of emails sent.
End of explanation
window = 20
Explanation: This variable is for the range of days used in computing rolling averages.
End of explanation
plt.figure(figsize=(12.5, 7.5))
rmpa = pd.rolling_mean(participants,window)
rmpadna = rmpa.dropna()
plt.plot_date(rmpadna.index,
              rmpadna.values,
              'r',
              xdate=True)
plt.show()
Explanation: For each of the mailing lists we are looking at, plot the rolling average of number of emails sent per day.
End of explanation
<END_TASK>