From 18883d066305dfdb32df0460b00b922a09e6dee6 Mon Sep 17 00:00:00 2001 From: duforetnTabMo Date: Fri, 13 Apr 2018 15:59:40 +0200 Subject: [PATCH] add Event analysis --- stat_tools/event_analysis.py | 23 +++++++++++++++++++++++ stat_tools/record_analyser.py | 10 ++++++++++ stat_tools/requester.py | 7 +++++++ 3 files changed, 40 insertions(+) create mode 100644 stat_tools/event_analysis.py diff --git a/stat_tools/event_analysis.py b/stat_tools/event_analysis.py new file mode 100644 index 0000000..2c0bb7c --- /dev/null +++ b/stat_tools/event_analysis.py @@ -0,0 +1,23 @@ +import requester +import record_analyser +import sys +import chart_requester +import scipy.stats as stats + +def main(argv): + request_tool = requester.Requester() + event_id = request_tool.get_event_id('plancha') + records = request_tool.get_records() + + my_analyser = record_analyser.RecordAnalyser(records['records']) + M = my_analyser.get_means() + E = my_analyser.get_event_presence(event_id) + print(M.values()) + print(E.values()) + print(stats.f_oneway(M.values(), E.values())) + +if __name__ == "__main__": + main(sys.argv) + + + diff --git a/stat_tools/record_analyser.py b/stat_tools/record_analyser.py index 05625b7..44d76c8 100644 --- a/stat_tools/record_analyser.py +++ b/stat_tools/record_analyser.py @@ -22,6 +22,16 @@ def get_means(self): means[rec['fields']['Date']] = sum_rec/float(nrec) return(means) + def get_event_presence(self, event_id): + presence = {} + for rec in self.records: + presence[rec['fields']['Date']] = 0 + if 'Event' in rec['fields']: + if event_id in rec['fields']['Event']: + presence[rec['fields']['Date']] = 1 + return(presence) + + def get_vars(self): rec_vars = {} rec_means = self.get_means() diff --git a/stat_tools/requester.py b/stat_tools/requester.py index 103e386..b905f87 100644 --- a/stat_tools/requester.py +++ b/stat_tools/requester.py @@ -7,9 +7,16 @@ class Requester: def __init__(self): self.headers = {'Content-Type': 'application/json', 'Authorization': 'Bearer keyNUv3Laq95pQOU7'} self.request_url = "https://api.airtable.com/v0/appDrZAT5gWrRGi6X/NikoNiko?maxRecords=100&filterByFormula=AND(OR(IS_AFTER({Date},'2018-03-01'),IS_SAME({Date},'2018-03-11')),IS_BEFORE({Date},'2018-03-18'))" + self.request_event_url = "https://api.airtable.com/v0/appDrZAT5gWrRGi6X/Event list?maxRecords=100" def get_records(self): resp = requests.get(self.request_url, headers=self.headers) return(resp.json()) + def get_event_id(self, event_name): + resp = requests.get(self.request_event_url, headers=self.headers) + my_resp = resp.json()['records'] + for it in my_resp: + if it['fields']['Event'] == event_name: + return it['id']