def augment_with_impressions_data(d, f_year): d_impressions = mysql_to_pandas( get_fr_impressions_by_country_of_web_request(cursor, f_year)) d = pd.merge(d, d_impressions, how='inner', on='country') d['amount_per_1000_impressions'] = 1000 * (d['total_amount'] / d['num_impressions']) d['donations_per_1000_impressions'] = 1000 * (d['num_donations'] / d['num_impressions']) return d
def get_data_frame_for_media(cursor, f_year): d_email = mysql_to_pandas( group_donations_by_country_of_web_request(cursor, f_year, "email")) d_email = augemnt_with_total_amount_num_donations_stats(d_email) d_email = prefix_df_columns(d_email, 'email_', ['country']) print d_email.head() d_banner = mysql_to_pandas( group_donations_by_country_of_web_request(cursor, f_year, "sitenotice")) d_banner = augemnt_with_total_amount_num_donations_stats(d_banner) d_banner = augment_with_impressions_data(d_banner, f_year) d_banner = prefix_df_columns(d_banner, 'banner_', ['country']) print d_banner.head() d_sponataneous = mysql_to_pandas( group_donations_by_country_of_web_request(cursor, f_year, "spontaneous")) d_sponataneous = augemnt_with_total_amount_num_donations_stats( d_sponataneous) d_sponataneous = prefix_df_columns(d_sponataneous, 'sponataneous_', ['country']) print d_sponataneous.head() d_sidebar = mysql_to_pandas( group_donations_by_country_of_web_request(cursor, f_year, "sidebar")) d_sidebar = prefix_df_columns(d_sidebar, 'sidebar_', ['country']) print d_sidebar.head() d = d_email.merge(d_sponataneous, how='outer', on='country').merge(d_sidebar, how='outer', on='country').merge(d_banner, how='outer', on='country') d = augment_with_page_views(d) d = augment_with_gdp(d) d.to_csv("country_performance_by_channel_" + str(f_year) + ".csv")
def get_data_frame_for_all_media(cursor, f_year): d = mysql_to_pandas(get_donations_by_country_of_address(cursor, f_year)) d = augment_with_page_views(d) d = augment_with_gdp(d) d = augemnt_with_total_amount_num_donations_stats(d) d.to_csv("aggregated_country_performance_" + str(f_year) + ".csv")