Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -63,7 +63,6 @@ items = []
|
|
63 |
for record in records:
|
64 |
if isinstance(record, dict):
|
65 |
description = record.get("description", "")
|
66 |
-
# Ensure list descriptions are flattened to string
|
67 |
if isinstance(description, list):
|
68 |
description = " ".join([str(d) for d in description])
|
69 |
item = {
|
@@ -99,18 +98,18 @@ if not metadata_df.empty:
|
|
99 |
|
100 |
# Metadata completeness analysis (enhanced)
|
101 |
st.subheader("🧠 Metadata Completeness Analysis")
|
102 |
-
completeness = metadata_df.
|
103 |
completeness_df = pd.DataFrame({"Field": completeness.index, "Completeness (%)": completeness.values})
|
104 |
fig = px.bar(completeness_df, x="Field", y="Completeness (%)", title="Metadata Completeness by Field")
|
105 |
st.plotly_chart(fig)
|
106 |
|
107 |
# Identify incomplete records
|
108 |
-
incomplete_mask = metadata_df.
|
109 |
incomplete_records = metadata_df[incomplete_mask]
|
110 |
|
111 |
st.subheader("⚠️ Records with Incomplete Metadata")
|
112 |
if not incomplete_records.empty:
|
113 |
-
st.dataframe(incomplete_records.astype(str))
|
114 |
else:
|
115 |
st.success("All metadata fields are complete in this collection!")
|
116 |
|
|
|
63 |
for record in records:
|
64 |
if isinstance(record, dict):
|
65 |
description = record.get("description", "")
|
|
|
66 |
if isinstance(description, list):
|
67 |
description = " ".join([str(d) for d in description])
|
68 |
item = {
|
|
|
98 |
|
99 |
# Metadata completeness analysis (enhanced)
|
100 |
st.subheader("🧠 Metadata Completeness Analysis")
|
101 |
+
completeness = metadata_df.map(lambda x: not is_incomplete(x)).mean() * 100
|
102 |
completeness_df = pd.DataFrame({"Field": completeness.index, "Completeness (%)": completeness.values})
|
103 |
fig = px.bar(completeness_df, x="Field", y="Completeness (%)", title="Metadata Completeness by Field")
|
104 |
st.plotly_chart(fig)
|
105 |
|
106 |
# Identify incomplete records
|
107 |
+
incomplete_mask = metadata_df.map(is_incomplete).any(axis=1)
|
108 |
incomplete_records = metadata_df[incomplete_mask]
|
109 |
|
110 |
st.subheader("⚠️ Records with Incomplete Metadata")
|
111 |
if not incomplete_records.empty:
|
112 |
+
st.dataframe(incomplete_records.astype(str))
|
113 |
else:
|
114 |
st.success("All metadata fields are complete in this collection!")
|
115 |
|