-
Notifications
You must be signed in to change notification settings - Fork 0
/
stats.py
35 lines (30 loc) · 1.03 KB
/
stats.py
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
#!/usr/bin/env python3
import preprocessing
# ---------
# | Numbers |
# ---------
class Statistics:
def __init__(self, dataframe, column, data):
self.dataframe = dataframe
self.column = column
self.data = data
"""Get unique column values and count their ocurrences"""
def stats(self):
values = self.dataframe[self.column].unique()
for value in values:
self.data[value] = self.dataframe[self.column].value_counts()[value]
return self.data
# -----------
# | Relations |
# -----------
class Relations(Statistics):
def __init__(self, dataframe, column, data, column2):
Statistics.__init__(self, dataframe, column, data)
self.column2 = column2
def group(self):
"""Group a column by a different column"""
values = self.dataframe[self.column].unique()
for value in values:
df = self.dataframe[self.dataframe[self.column] == value]
self.data[value] = list(df[self.column2].unique())
return self.data