35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
#!/usr/bin/env python
|
|
|
|
""" Test Measures Script """
|
|
|
|
import logging
|
|
|
|
import pandas
|
|
|
|
pandas.set_option("display.max_rows", None)
|
|
|
|
logger = logging.getLogger(__name__)
|
|
logging.basicConfig(level=logging.INFO, format="%(message)s")
|
|
|
|
|
|
def _summarize(summary_df, measures_df, column, threshold):
|
|
measures_df = measures_df.sort_values(column, ascending=False)
|
|
total = measures_df[column].sum()
|
|
column_df = measures_df[measures_df[column] > threshold]
|
|
top = column_df[column].sum()
|
|
percent = 100 * (top / total)
|
|
summary_df.loc[len(summary_df)] = [ column, total, top, len(column_df), percent ]
|
|
return column_df.to_string(index=False) + "\n"
|
|
|
|
def main():
|
|
measures_df = pandas.read_csv("dist/test/measures.csv")
|
|
measures_df.fillna(0, inplace=True)
|
|
summary_df = pandas.DataFrame(columns=[ "Name", "Total", "Top", "Count", "Ratio" ])
|
|
logger.info(_summarize(summary_df, measures_df, "load", 1))
|
|
logger.info(_summarize(summary_df, measures_df, "validate", 1))
|
|
logger.info(_summarize(summary_df, measures_df, "render", 1))
|
|
logger.info(summary_df.to_string(index=False))
|
|
|
|
if __name__ == "__main__":
|
|
main()
|