as_dataframe() method (fixes #7)