Python Automation for Group by and Line Chart
def conversion_rate(dataframe, column_names):
# Total number of converted users
column_conv = dataframe[dataframe['converted'] == True]\
.groupby(column_names)['user_id'].nunique()
# Total number users
column_total = dataframe.groupby(column_names)['user_id'].nunique()
# Conversion rate
conversion_rate = column_conv/column_total
# Fill missing values with 0
conversion_rate = conversion_rate.fillna(0)
return conversion_rate
Testing the function
# Calculate conversion rate by age_group
age_group_conv = conversion_rate(marketing, ['date_served', 'age_group'])
print(age_group_conv)
# Unstack and create a DataFrame
age_group_df = pd.DataFrame(age_group_conv.unstack(level=1))
# Visualize conversion by age_group
age_group_df.plot()
plt.title('Conversion rate by age group\n', size = 16)
plt.ylabel('Conversion rate', size = 14)
plt.xlabel('Age group', size = 14)
plt.show()
Comments
Post a Comment