Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -1153,9 +1153,6 @@ except Exception as e:
|
|
| 1153 |
|
| 1154 |
# =================== OBJECTIVE 5: Operator Fatigue Risk Gradient Dashboard =====================
|
| 1155 |
|
| 1156 |
-
# ... (kode sebelumnya tetap sama) ...
|
| 1157 |
-
|
| 1158 |
-
|
| 1159 |
|
| 1160 |
|
| 1161 |
# =================== OBJECTIVE 5: Operator Fatigue Risk Gradient Dashboard =====================
|
|
@@ -1298,6 +1295,15 @@ else:
|
|
| 1298 |
st.info("No operator data after filtering.")
|
| 1299 |
st.stop()
|
| 1300 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1301 |
# Buat kolom date dan daily_count
|
| 1302 |
df_op["date"] = df_op["start"].dt.date
|
| 1303 |
daily = df_op.groupby([col_operator, "date"]).size().reset_index(name="daily_count")
|
|
@@ -1710,7 +1716,6 @@ else:
|
|
| 1710 |
st.error(f"Error in Top 10 Operator analysis: {str(e)}")
|
| 1711 |
st.code(f"Error: {e}", language="python")
|
| 1712 |
|
| 1713 |
-
|
| 1714 |
# =================== OBJECTIVE 6: Automated Insights & AI Recommendations =====================
|
| 1715 |
st.subheader("OBJECTIVE 6: Instant Insights & Recommendations")
|
| 1716 |
|
|
|
|
| 1153 |
|
| 1154 |
# =================== OBJECTIVE 5: Operator Fatigue Risk Gradient Dashboard =====================
|
| 1155 |
|
|
|
|
|
|
|
|
|
|
| 1156 |
|
| 1157 |
|
| 1158 |
# =================== OBJECTIVE 5: Operator Fatigue Risk Gradient Dashboard =====================
|
|
|
|
| 1295 |
st.info("No operator data after filtering.")
|
| 1296 |
st.stop()
|
| 1297 |
|
| 1298 |
+
# Tambahkan kolom shift jika ada
|
| 1299 |
+
if 'shift' in df_op.columns:
|
| 1300 |
+
df_op['shift'] = df_op['shift'].fillna('Unknown')
|
| 1301 |
+
else:
|
| 1302 |
+
# Jika tidak ada kolom shift, buat kolom shift berdasarkan waktu
|
| 1303 |
+
df_op['shift'] = df_op['start'].dt.hour.apply(
|
| 1304 |
+
lambda x: 'Shift 1' if 6 <= x < 14 else ('Shift 2' if 14 <= x < 22 else 'Shift 3')
|
| 1305 |
+
)
|
| 1306 |
+
|
| 1307 |
# Buat kolom date dan daily_count
|
| 1308 |
df_op["date"] = df_op["start"].dt.date
|
| 1309 |
daily = df_op.groupby([col_operator, "date"]).size().reset_index(name="daily_count")
|
|
|
|
| 1716 |
st.error(f"Error in Top 10 Operator analysis: {str(e)}")
|
| 1717 |
st.code(f"Error: {e}", language="python")
|
| 1718 |
|
|
|
|
| 1719 |
# =================== OBJECTIVE 6: Automated Insights & AI Recommendations =====================
|
| 1720 |
st.subheader("OBJECTIVE 6: Instant Insights & Recommendations")
|
| 1721 |
|