title: How to apply rolling functions in a group by object in pandas
body: <p>I'm having difficulty to solve a look-back or roll-over problem in dataframe or perhaps in groupby.</p>
  
  <p>The following is a simple example of the dataframe I have:</p>
  
  <pre><code>              fruit    amount    
     20140101   apple     3
     20140102   apple     5
     20140102   orange    10
     20140104   banana    2
     20140104   apple     10
     20140104   orange    4
     20140105   orange    6
     20140105   grape     1
     …
     20141231   apple     3
     20141231   grape     2
  </code></pre>
  
  <p>I need to calculate the average value of 'amount' of each fruit in the previous 3 days for everyday, and create the following data frame:</p>
  
  <pre><code>              fruit     average_in_last 3 days
     20140104   apple      4
     20140104   orange     10
     ...
  </code></pre>
  
  <p>For example on 20140104, the previous 3 days are 20140101, 20140102 and 20140103 (note the date in the data frame is not continuous and 20140103 does not exist), the average amount of apple is (3+5)/2 = 4 and orange is 10/1=10, the rest is 0.</p>
  
  <p>The sample data frame is very simple but the actual data frame is much more complicated and larger. Hope someone can shed some light on this, thank you in advance!</p>