another slightly off reading is that coldplay is the most popular artistbut they don' have candidate in the most popular songs list this indirectly hints at an even distribution of those play counts across all of their tracks you can take it as exercise to determine song play distribution for each of the artists who appear in the plot in figure - this will give you clue as to whether the artist holds skewed or uniform popularity this idea can be further developed to full-blown recommendation engine user vs songs distribution the last information that we can seek from our dataset is regarding the distribution of song count for users this information will tell us how the number of songs that users listen to on average are distributed we can use this information to create different categories of users and modify the recommendation engine on that basis the users who are listening to very select number of songs can be used for developing simple recommendation engines and the users who provide us lots of insight into their behavior can be candidates for developing complex recommendation engines before we go on to plot that distributionlet' try to find some statistical information about that distribution the following code calculates that distribution and then shows summary statistics about it in [ ]user_song_count_distribution triplet_dataset_sub_song_merged[['user','title']groupby('user'count(reset_index(sort_values(by='title'ascending falseuser_song_count_distribution title describe(out[ ]count mean std min max nametitledtypefloat this gives us some important information about how the song counts are distributed across the users we see that on an averagea user will listen to songsbut some users have more voracious appetite for song diversification let' try to visualize this particular distribution the code that follows will help us plot the distribution of play counts across our dataset we have intentionally kept the number of bins to small amountas that can give approximate information about the number of classes of users we have in [ ] user_song_count_distribution title nbinspatches plt hist( facecolor='green'alpha= plt xlabel('play counts'plt ylabel('probability'plt title( '$\mathrm{histogramofuserplaycountdistribution}$'plt grid(trueplt show(the distribution plot generated by the code is shown in figure - the image clearly shows thatalthough we have huge variance in the minimum and maximum play countthe bulk of the mass of the distribution is centered on song counts