Analyzing Marketing Campaigns with pandas
Jill Rosok
Data Scientist
language = marketing.groupby(['date_served',
'language_preferred'])\
['user_id'].count()
print(language.head())
date_served language_preferred
2018-01-01 Arabic 3
English 351
German 5
Spanish 11
2018-01-02 Arabic 4
Name: user_id, dtype: int64
language = pd.DataFrame(language.unstack(level=1))
print(language.head())
language_preferred Arabic English German Spanish
date_served
2018-01-01 3.0 351.0 5.0 11.0
2018-01-02 4.0 369.0 6.0 10.0
2018-01-03 3.0 349.0 3.0 8.0
2018-01-04 2.0 313.0 2.0 14.0
2018-01-05 NaN 310.0 1.0 14.0
language.plot()
plt.title('Daily language preferences')
plt.xlabel('Date')
plt.ylabel('Users')
plt.legend(loc = 'upper right',
labels = language.columns.values)
plt.show()
# Create DataFrame grouped by age and language preference
language_age = marketing.groupby(['language_preferred',
'age_group'])\
['user_id'].count()
language_age = pd.DataFrame(language_age.unstack(level=0))
print(language_age.head())
language_preferred Arabic English German Spanish
age_group
0-18 years 17 1409 20 66
19-24 years 25 1539 20 66
24-30 years 18 1424 18 71
30-36 years 19 1238 14 69
36-45 years 18 1251 17 55
language_age.plot(kind='bar')
plt.title('Language preferences by age group')
plt.xlabel('Language')
plt.ylabel('Users')
plt.legend(loc = 'upper right',
labels = language_age.columns.values)
plt.show()
Analyzing Marketing Campaigns with pandas