I have list of integers and want to get frequency of each integer. This was discussed here
The problem is that approach I\'m using gives me frequency of floating num
(Late to the party, just thought I would add a seaborn
implementation)
seaborn.__version__ = 0.9.0
at time of writing.
Load the libraries and setup mock data.
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
data = np.array([3]*10 + [5]*20 + [7]*5 + [9]*27 + [11]*2)
Using specified bins, calculated as per the above question.
sns.distplot(data,bins=np.arange(data.min(), data.max()+1),kde=False,hist_kws={"align" : "left"})
plt.show()
numpy
built-in binning methodsI used the doane
binning method below, which produced integer bins, migth be worth trying out the standard binning methods from numpy.histogram_bin_edges
as this is how matplotlib.hist()
bins the data.
sns.distplot(data,bins="doane",kde=False,hist_kws={"align" : "left"})
plt.show()
Produces the below Histogram: