title: Run df.describe() for non-zero values only
body: <p>I have a dataframe <code>daily</code> that looks like this </p>
  
  <pre><code>import pandas as pd
  daily
  
  time_stamp  22          72      79          86      87          88          90  
  2013-10-01  0.000000    0.000   8.128000    0.254   0.000000    0.000000    0.000000
  2013-10-01  0.000000    0.000   8.128000    0.254   0.000000    0.000000    0.000000
  2013-10-02  0.000000    0.000   0.000000    0.000   0.000000    0.000000    0.000000
  2013-10-04  0.000000    0.000   0.000000    0.000   2.540000    0.762000    0.000000
  2013-10-08  2.286000    0.000   0.000000    1.016   1.016000    0.254000    0.000000
  2013-10-11  2.794000    0.000   0.000000    0.000   3.810000    1.016000    0.762000
  2013-10-12  1.524000    0.000   0.000000    2.286   5.588000    0.254000    26.41600
  2013-10-13  0.762000    0.000   8.890000    0.000   2.540000    1.270000    4.572000
  2013-10-14  1.524000    0.000   0.000000    0.000   2.540000    4.064000    0.000000
  2013-10-15  0.000000    0.000   0.000000    0.000   0.000000    0.000000    0.000000
  2013-10-16  0.000000    3.810   1.524000    3.048   0.508000    0.762000    5.080000
  2013-10-17  0.000000    0.000   0.254000    0.000   0.000000    0.000000    0.508000
  2013-10-18  8.128000    0.762   4.826000    0.508   7.366000    4.572000    1.524000
  2013-10-19  8.382000    0.254   0.000000    0.000   6.858000    16.510000   2.032000
  2013-10-20  0.000000    0.000   0.000000    0.000   4.064000    5.842000    0.000000
  2013-10-21  0.000000    0.508   0.000000    0.000   1.016000    0.000000    0.000000
  2013-10-22  2.794000    2.540   1.016000    0.000   0.508000    15.748000   0.000000
  </code></pre>
  
  <p>And I want to do summary statistics so <code>describe()</code> on the values greater than 0.</p>
  
  <p>The problem is if I use the commands <code>dailyrf = daily[(daily &gt; 0.).any(1)]</code> the rows with zeroes are still included when I do <code>dailyrf.describe()</code>. Alternatively, when I do <code>dailyrf = daily[(daily &gt; 0.).all(1)]</code> it only returns rows that have >0 values in all the rows. </p>
  
  <p>I also tried <code>daily[daily==0] = 'NaN'</code> which gave me a warning message: "A value is trying to be set on a copy of a slice from a DataFrame.
  Try using .loc[row_indexer,col_indexer] = value instead</p>
  
  <p>See the caveats in the documentation: <a href="http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy" rel="nofollow noreferrer">http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy</a>
    This is separate from the ipykernel package so we can avoid doing imports until".</p>
  
  <p>And this isn't a solution either because the <code>describe</code> function returns this:</p>
  
  <pre><code>        22  72  79  86  87  88  90  93  95  96  97
  count   720 684 721 719 718 720 720 721 720 720 719
  unique  103 80  73  64  80  108 112 108 86  113 98
  top     NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
  freq    470 494 560 510 539 483 486 441 570 474 476
  </code></pre>
  
  <p>What I really want is mean, standard deviation, etc. for all the values greater than 0 in each column. </p>