Disabling the @CpILL response allows you to turn most requests into an array of numpy entries as follows:
def qs_to_ra(qs, *args): """ Turn most querysets directly into a numpy record array :param qs: django queryset :param args: takes a list of field names to specify :return: numpy.recarray """ model = qs.model if args: return np.core.records.fromrecords(qs.values_list(*args), names=args) return np.core.records.fromrecords(qs.values_list(), names=[f.name for f in model._meta.fields])
You can also turn them directly into a pandas framework, for example:
def qs_to_df(qs, *args): """ Turn most querysets directly into a pandas dataframe. :param qs: django queryset :param args: takes a list of field names to specify :return: pandas.DataFrame """ model = qs.model if args: return pd.DataFrame.from_records(list(qs.values_list(*args)), columns=args) return pd.DataFrame.from_records(list(qs.values_list()), columns=[f.name for f in model._meta.fields])
0____0
source share