title: Pandas bar plot with binned range
body: <p>Is there a way to create a bar plot from continuous data binned into predefined intervals? For example, </p>
  
  <pre><code>In[1]: df
  Out[1]: 
  0      0.729630
  1      0.699620
  2      0.710526
  3      0.000000
  4      0.831325
  5      0.945312
  6      0.665428
  7      0.871845
  8      0.848148
  9      0.262500
  10     0.694030
  11     0.503759
  12     0.985437
  13     0.576271
  14     0.819742
  15     0.957627
  16     0.814394
  17     0.944649
  18     0.911111
  19     0.113333
  20     0.585821
  21     0.930131
  22     0.347222
  23     0.000000
  24     0.987805
  25     0.950570
  26     0.341317
  27     0.192771
  28     0.320988
  29     0.513834
  
  231    0.342541
  232    0.866279
  233    0.900000
  234    0.615385
  235    0.880597
  236    0.620690
  237    0.984375
  238    0.171429
  239    0.792683
  240    0.344828
  241    0.288889
  242    0.961686
  243    0.094402
  244    0.960526
  245    1.000000
  246    0.166667
  247    0.373494
  248    0.000000
  249    0.839416
  250    0.862745
  251    0.589873
  252    0.983871
  253    0.751938
  254    0.000000
  255    0.594937
  256    0.259615
  257    0.459916
  258    0.935065
  259    0.969231
  260    0.755814
  </code></pre>
  
  <p>and instead of a simple histogram:</p>
  
  <pre><code>df.hist()
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/x1LAz.png" rel="noreferrer"><img src="https://i.stack.imgur.com/x1LAz.png" alt="usual histogram of df"></a></p>
  
  <p>I need to create a bar plot, where each bar will count a number of instances within a predefined range. 
  For example, the following plot should have three bars with the number of points which fall into: [0 0.35], [0.35 0.7] [0.7 1.0] </p>
  
  <p><strong>EDIT</strong></p>
  
  <p>Many thanks for your answers. Another question, how to order bins?
  For example, I get the following result:</p>
  
  <pre><code>In[349]: out.value_counts()
  Out[349]:  
  [0, 0.001]      104
  (0.001, 0.1]     61
  (0.1, 0.2]       32
  (0.2, 0.3]       20
  (0.3, 0.4]       18
  (0.7, 0.8]        6
  (0.4, 0.5]        6
  (0.5, 0.6]        5
  (0.6, 0.7]        4
  (0.9, 1]          3
  (0.8, 0.9]        2
  (1, 1.001]        0
  </code></pre>
  
  <p>as you can see, the last three bins are not ordered. How to sort the data frame based on 'categories' or my bins?</p>
  
  <p><strong>EDIT 2</strong></p>
  
  <p>Just found how to solve it, simply with 'reindex()':</p>
  
  <pre><code>In[355]: out.value_counts().reindex(out.cat.categories)
  Out[355]: 
  [0, 0.001]      104
  (0.001, 0.1]     61
  (0.1, 0.2]       32
  (0.2, 0.3]       20
  (0.3, 0.4]       18
  (0.4, 0.5]        6
  (0.5, 0.6]        5
  (0.6, 0.7]        4
  (0.7, 0.8]        6
  (0.8, 0.9]        2
  (0.9, 1]          3
  (1, 1.001]        0
  </code></pre>