ENH: Pre-allocated (buffer) DataFrame that grows to a specified size
Pandas appears to still be lacking a clean method for dealing with filling a pre-allocated DataFrame (if I'm missing it please direct me). Consider the case when a known amount of rows will be generated over time, but during that period the data needs to be used as a DataFrame in some computation or access. By constructing the DataFrame using an np.empty array of the total size and reporting only those rows of the array that are filled, operations on the DataFrame would correctly occur and be flexible as the buffer was filled. An outline of how this might be done follows -- this doesn't work yet but should give you the idea. I'm still not familiar with the full pandas API, so I thought it would be best to report this as an enhancement and see what people think.

``` python
class BufferDataFrame(pd.DataFrame):
    """ Constructs a pandas DataFrame that grows to a specified size to act as a
    buffer that can be efficiently filled
    """

    def __init__(self, count, columns, dtype, **kwargs):
        data = np.empty((count,len(columns)), dtype=dtype)
        super(BufferDataFrame, self).__init__(data=data, columns=columns, **kwargs)
        self._pointer = 0

    def __len__(self):
        return self._pointer

    def push(self, values):
        """ Pushes an array of values onto the DataFrame and increments the pointer
        """
        self.loc[self._pointer] = values
        self._pointer += 1
```
