In [2]:
from __future__ import division
import pymongo, pandas, random
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
In [3]:
connection = pymongo.MongoClient('localhost', 27017)
communities = connection.database_names()
for db in ["gender", "admin", "local", "visualizations", "results"]:
if db in communities:communities.remove(db)
In [4]:
columns = ['community', 'total_contrib','males_contrib','females_contrib',
'total_questions','males_questions','females_questions',
'total_answers','males_answers','females_answers',
'total_comments','males_comments','females_comments']
results = pandas.DataFrame(columns=columns)
In [12]:
for community in communities:
community_db = connection[community]['statistics']
cursor = community_db.find({'contributions_total': {'$gt':0}, 'gender': {'$ne': "Unknown"}},
{u'_id': False, u'gender':True, 'comments_total':True,
'questions_total':True, 'answers_total': True,
'contributions_total': True})
df = pandas.DataFrame(list(cursor))
males = df.query('gender == "Male"')
females = df.query('gender == "Female"')
sum_total = df.sum()
sum_males = males.sum()
sum_females = females.sum()
result = {
'community': community,
'total_contrib': sum_total['contributions_total'],
'males_contrib': sum_males['contributions_total'],
'females_contrib': sum_females['contributions_total'],
'total_questions': sum_total['questions_total'],
'males_questions': sum_males['questions_total'],
'females_questions': sum_females['questions_total'],
'total_answers': sum_total['answers_total'],
'males_answers': sum_males['answers_total'],
'females_answers': sum_females['answers_total'],
'total_comments': sum_total['comments_total'],
'males_comments': sum_males['comments_total'],
'females_comments': sum_females['comments_total']
}
results = results.append(result, ignore_index=True)
In [13]:
results
Out[13]:
In [14]:
results.to_csv("/Users/milena/Desktop/proportions_contrib.csv")
In [ ]: