bugfix: handle when no data is returned, return empty DataFrame.