use dataframe to get data