Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to plot histograms from dataframes in pandas

I have a simple dataframe in pandas that has two numeric columns. I want to make a histogram out of the columns using matplotlib through pandas. The example below does not work:

In [6]: pandas.__version__
Out[6]: '0.14.1'

In [7]: df
Out[7]: 
   a   b
0  1  20
1  2  40
2  3  30
3  4  30
4  4   3
5  3   5

In [8]: df.plot(kind="hist")
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-8-4f53176a4683> in <module>()
----> 1 df.plot(kind="hist")

/software/lib/python2.7/site-packages/pandas/tools/plotting.pyc in plot_frame(frame, x, y, subplots, sharex, sharey, use_index, figsize, grid, legend, rot, ax, style, title, xlim, ylim, logx, logy, xticks, yticks, kind, sort_columns, fontsize, secondary_y, **kwds)
   2095         klass = _plot_klass[kind]
   2096     else:
-> 2097         raise ValueError('Invalid chart type given %s' % kind)
   2098 
   2099     if kind in _dataframe_kinds:

ValueError: Invalid chart type given hist

why does it say invalid chart type? the columns are numeric and can be made into histograms.

like image 631
lgd Avatar asked Feb 22 '15 03:02

lgd


1 Answers

DataFrame has its own hist method:

df =pd.DataFrame({'col1':np.random.randn(100),'col2':np.random.randn(100)})
df.hist(layout=(1,2))   

draws a histogram for each valid column of the dataframe.

enter image description here

like image 80
JAB Avatar answered Sep 24 '22 12:09

JAB