-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDataAnalysis.py
More file actions
103 lines (67 loc) · 2.77 KB
/
Copy pathDataAnalysis.py
File metadata and controls
103 lines (67 loc) · 2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#!/usr/bin/env python3
"""
Module Docstring
"""
__author__ = "Jairus Behrisch"
__version__ = "0.0.1"
#__license__ = "MIT"
import pandas as pd
from os.path import exists
from abc import ABC
from itertools import islice
from Aufnahme import Aufnahme
from Standort import Standort
from ExcelImport import ExcelImport
class Projekt(ExcelImport):
def __init__(self, name:str) -> None:
self.name = name
self.standorte = dict()
self.standort_namen = list()
def import_excel(self, path: str):
self.standorte = super().import_excel(path)
for standort in self.standorte:
self.standort_namen.append(self.standorte.get(standort).name)
def get_standort(self, name:str) -> Standort:
return self.standorte.get(name)
def get_aufnahme(self, standort:str, aufnahme:str) -> Aufnahme:
return self.get_standort(standort).get_aufnahme(aufnahme)
def print_tree(self):
print("===============")
print(f"Projekt: {self.name}")
print(f"\tStandorte:")
for standort in self.standorte:
standort = self.standorte[standort]
print(f"\t\t- {standort.name}")
for aufnahme in standort.aufnahmen:
aufnahme = standort.aufnahmen[aufnahme]
print(f"\t\t\t- {aufnahme.name}")
def get_data(self) -> pd.DataFrame:
first_run = True
df = pd.DataFrame
for standort in self.standorte.values():
if first_run:
df = standort.get_data()
df["Standort"] = standort.name
first_run = False
continue
df_tmp = standort.get_data()
df["Standort"] = standort.name
df = pd.concat([df, df_tmp], ignore_index=True)
return df
def main():
""" Main entry point of the app """
my_proj = Projekt(name="Fledermausprojekt")
my_proj.import_excel(path="../Fledermausrufanalyse - Kopie.xlsx")
for standort in my_proj.standorte.values():
for aufnahme in standort.aufnahmen.values():
#print(aufnahme.get_data()["Manual_ID"])
#print(f"{standort.name} - {aufnahme.name}: {aufnahme.bat_counter}")
print(f"{standort.name} - {aufnahme.name}:\n{aufnahme.get_counts()}\n")
print(aufnahme.get_x_minute_classes("10T"))
print(aufnahme.get_x_minute_classes_range(1,10))
print("================================================\n")
data = my_proj.get_data()
print (data["Manual_ID"].value_counts())
if __name__ == "__main__":
""" This is executed when run from the command line """
main()