diff --git a/Makefile b/Makefile index ee3ef428f76a22d4099d600a8e4892c903d8bf78..5cae5fced01b2b00332220741bf447037d61dac5 100644 --- a/Makefile +++ b/Makefile @@ -20,3 +20,6 @@ help: bdist: python3 setup.py sdist bdist_wheel + +dev: + python setup.py develop diff --git a/moondb/core.py b/moondb/core.py old mode 100644 new mode 100755 index 09b2a0f58bafb23fce0f34eb29bb2ad6d6554dff..a5b2da57f7d14908b002bd7517d042279faed437 --- a/moondb/core.py +++ b/moondb/core.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 # -# (c) 2019 Alessandro Frigeri, Istituto Nazionale di Astrofisica +# (c) 2019-2022 Alessandro Frigeri, Istituto Nazionale di Astrofisica # # pymoondb: MoonDB Python module @@ -393,6 +393,40 @@ class AnalysisFilter: res_list.append(analysis) return res_list + def get_results_as_dataframe(self): + """ + A method's docstring with parameters and return value. + + Use all the cool Sphinx capabilities in this description, e.g. to give + usage examples ... + + :Example: + + >>> another_class.foo('', AClass()) + + :param arg1: first argument + :type arg1: string + :param arg2: second argument + :type arg2: :class:`module.AClass` + :return: something + :rtype: string + :raises: TypeError + """ + resp = requests.get(_url('/data/'+self._toJSON() )) + res_list = [] + + for r in resp.json()['results']: + rd = dict(r) + analysis = namedtuple("Analysis", rd.keys())(*rd.values()) + data_res_list = [] + for r in analysis.dataResults: + data_res = namedtuple("dataResult", r.keys())(*r.values()) + data_res_list.append(data_res) + analysis = analysis._replace(dataResults = data_res_list ) + df = pd.DataFrame(data=analysis) + res_list.append(df) + return res_list + if __name__ == "__main__": m = get_missions()