in python-package/lets_plot/bistro/corr.py [0:0]
def _is_corr_matrix(data: Any):
if is_pandas_data_frame(data):
if data.shape[0] != data.shape[1]:
return False
if not (all(col_type == 'float64' for col_type in data.dtypes)):
return False
for column in data:
import math
if not all(math.isnan(v) or (1.0 >= v >= -1.0) for v in data[column]):
return False
return True
elif isinstance(data, dict):
m = len(data.keys())
for column in data.values():
if not isinstance(column, (list, tuple)):
return False
if len(column) != m:
return False
import math
for v in column:
if not isinstance(v, float):
return False
if math.isnan(v):
return True
if 1.0 >= v >= -1.0:
return True
return False
return True
else:
return False