def get_cardinality(self, tbl: LuxSQLTable): """ Function which computes the cardinality for each variable within the specified Lux DataFrame's SQL table. Populates the metadata parameters of the specified Lux DataFrame. Parameters ---------- tbl: lux.LuxSQLTable lux.LuxSQLTable object whose metadata will be calculated Returns ------- None """ cardinality = {} for attr in list(tbl.columns): card_query = 'SELECT Count(Distinct("{}")) FROM {} WHERE "{}" IS NOT NULL'.format( attr, tbl.table_name, attr ) card_data = pandas.read_sql( card_query, lux.config.SQLconnection, ) cardinality[attr] = list(card_data["count"])[0] tbl.cardinality = cardinality
def get_cardinality(self, tbl: LuxSQLTable): """ Function which computes the cardinality for each variable within the specified Lux DataFrame's SQL table. Populates the metadata parameters of the specified Lux DataFrame. Parameters ---------- tbl: lux.LuxSQLTable lux.LuxSQLTable object whose metadata will be calculated Returns ------- None """ cardinality = {} for attr in list(tbl.columns): card_query = lux.config.query_templates['cardinality_query'].format(attribute = attr, table_name = tbl.table_name) card_data = pandas.read_sql(card_query,lux.config.SQLconnection,) cardinality[attr] = list(card_data["count"])[0] tbl.cardinality = cardinality