-
Notifications
You must be signed in to change notification settings - Fork 10
/
table_checks.py
34 lines (29 loc) · 1.13 KB
/
table_checks.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
import numpy as np
def check_table(table, length):
try:
assert len(table) == length, (
'index is %i fields long, but %i rows in table'
% (length, len(table))
)
for r, row in enumerate(table):
assert len(row) == length, (
'index is %i fields long, but row %i is only %i fields long'
% (length, i, len(row))
)
except TypeError, e:
assert table.shape[0] == table.shape[1] == length
def check_square(table):
try:
length = len(table)
for r, row in enumerate(table):
assert len(row) == length, (
'index is %i fields long, but row %i is only %i fields long'
% (length, i, len(row))
)
except TypeError, e:
assert table.shape[0] == table.shape[1] == length
def check_balance(table):
return (
(np.sum(table, 1) - 1e-06 < np.sum(table, 0)).all()
and (np.sum(table, 1) + 1e-06 > np.sum(table, 0)).all()
), np.sum(table, 0) - np.sum(table, 1)