joycecast commited on
Commit
2626b66
·
verified ·
1 Parent(s): cab1211

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -8
app.py CHANGED
@@ -33,6 +33,11 @@ with tabs[0]:
33
 
34
  df['Shipment Status'] = df.apply(determine_status, axis=1)
35
  df['ETA'] = pd.to_datetime(df['ETA'])
 
 
 
 
 
36
 
37
  # Filter for Injection Gateway
38
  injection_gateways = df['Injection Gateway'].dropna().unique().tolist()
@@ -62,22 +67,21 @@ with tabs[0]:
62
 
63
  st.altair_chart(chart, use_container_width=True)
64
 
65
- # Volume by ETA (grouped by date only)
66
  st.subheader("Shipment Volume by ETA")
67
- df['ETA_Date'] = df['ETA'].dt.date
68
- volume_by_eta = df.groupby('ETA_Date').agg({
69
  'MAWB': 'count',
70
  'Cartons': 'sum',
71
  'Packages': 'sum',
72
  'Weights': 'sum'
73
  }).reset_index().rename(columns={'MAWB': 'Shipment Count'})
74
 
75
- st.dataframe(volume_by_eta, use_container_width=True)
76
 
77
- line_chart = alt.Chart(volume_by_eta).mark_line(point=True).encode(
78
- x='ETA_Date:T',
79
  y='Cartons:Q',
80
- tooltip=['ETA_Date:T', 'Shipment Count:Q', 'Cartons:Q', 'Packages:Q', 'Weights:Q']
81
  ).properties(height=400)
82
 
83
  st.altair_chart(line_chart, use_container_width=True)
@@ -92,7 +96,7 @@ with tabs[0]:
92
  else:
93
  filtered_df = df[df['Shipment Status'] == selected_status]
94
 
95
- sorted_df = filtered_df[['MAWB', 'ETA', 'ATA', 'Shipment Status', 'Cartons', 'Last Mile Carrier']].sort_values(by='ETA')
96
  st.dataframe(sorted_df, use_container_width=True)
97
 
98
  with tabs[1]:
 
33
 
34
  df['Shipment Status'] = df.apply(determine_status, axis=1)
35
  df['ETA'] = pd.to_datetime(df['ETA'])
36
+ df['ATA'] = pd.to_datetime(df['ATA'])
37
+
38
+ # Fallback date: ATA if available, otherwise ETA
39
+ df['Final Arrival Date'] = df['ATA'].fillna(df['ETA'])
40
+ df['Final Arrival Date'] = pd.to_datetime(df['Final Arrival Date']).dt.date
41
 
42
  # Filter for Injection Gateway
43
  injection_gateways = df['Injection Gateway'].dropna().unique().tolist()
 
67
 
68
  st.altair_chart(chart, use_container_width=True)
69
 
70
+ # Volume by final arrival date (ATA preferred, fallback to ETA)
71
  st.subheader("Shipment Volume by ETA")
72
+ volume_by_arrival = df.groupby('Final Arrival Date').agg({
 
73
  'MAWB': 'count',
74
  'Cartons': 'sum',
75
  'Packages': 'sum',
76
  'Weights': 'sum'
77
  }).reset_index().rename(columns={'MAWB': 'Shipment Count'})
78
 
79
+ st.dataframe(volume_by_arrival, use_container_width=True)
80
 
81
+ line_chart = alt.Chart(volume_by_arrival).mark_line(point=True).encode(
82
+ x='Final Arrival Date:T',
83
  y='Cartons:Q',
84
+ tooltip=['Final Arrival Date:T', 'Shipment Count:Q', 'Cartons:Q', 'Packages:Q', 'Weights:Q']
85
  ).properties(height=400)
86
 
87
  st.altair_chart(line_chart, use_container_width=True)
 
96
  else:
97
  filtered_df = df[df['Shipment Status'] == selected_status]
98
 
99
+ sorted_df = filtered_df[['MAWB', 'ETA', 'ATA', 'Shipment Status', 'Cartons', 'Last Mile Carrier', 'Exception Note Description']].sort_values(by='ETA')
100
  st.dataframe(sorted_df, use_container_width=True)
101
 
102
  with tabs[1]: