File size: 1,580 Bytes
5766c54 31bd2d1 5766c54 31bd2d1 5766c54 806d14d 5766c54 |
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
import pandas as pd
import numpy as np
from renumics import spotlight
from renumics.spotlight.analysis.typing import DataIssue
if __name__ == "__main__":
df = pd.read_json("df.json")
# df[
# "GitHub"
# ] = '<a href="https://github.com/Renumics/spotlight" target="_blank">⭐ Check Out Spotlight on GitHub</a>'
issues = pd.read_json("issues.json")
spotlight_issues = []
for _, issue in issues.sort_values("metric").iterrows():
issue_metric = issue["metric"]
issue_title = f"{issue_metric:.2f} -> " + issue["explanation"]
predicate_strings = [
f"{x['minimum']:.1f} < {x['column']} < {x['maximum']:.1f}"
for x in issue["predicates"]
if ("minimum" in x and "maximum" in x)
]
issue_explanation = "; ".join(predicate_strings)
data_issue = DataIssue(
severity="medium",
title=issue_title,
description=issue_explanation,
rows=issue["rows"],
columns=[x["column"] for x in issue["predicates"]],
)
spotlight_issues.append(data_issue)
while True:
dtypes = {
"image": spotlight.Image,
"sg_emb_image": spotlight.Embedding,
"sg_projection": spotlight.Embedding,
}
view = spotlight.show(
df,
dtype=dtypes,
port=7860,
host="0.0.0.0",
allow_filebrowsing=False,
issues=spotlight_issues,
layout="spotlight-layout.json",
)
view.close()
|