mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/cief-dashboard.git
synced 2026-08-21 21:44:07 +00:00
46 lines
1.8 KiB
Python
46 lines
1.8 KiB
Python
from datetime import date
|
|
from app import *
|
|
|
|
df=pd.read_csv('./data/warehouse0.csv')
|
|
df=df.iloc[:,[0,1,5,6,7,8,10,11,15,16,17,18,20,22]]
|
|
df.columns=['Date','Destination port','ETA period','Marking','Description','CTN','Postcode','Delivery period','Unstuffing period','Delivery status','Release period','Remark','CBM','Real ETA period']
|
|
df=df.loc[:,['Date','ETA period','Delivery period','Unstuffing period','Release period','Real ETA period']]
|
|
|
|
df.loc[:,'Date']=pd.to_datetime(df.loc[:,'Date'],errors='coerce')
|
|
df.loc[:,'ETA period']=pd.to_datetime(df.loc[:,'ETA period'],errors='coerce')
|
|
df.loc[:,'Delivery period']=pd.to_datetime(df.loc[:,'Delivery period'],errors='coerce')
|
|
df.loc[:,'Unstuffing period']=pd.to_datetime(df.loc[:,'Unstuffing period'],errors='coerce')
|
|
df.loc[:,'Release period']=pd.to_datetime(df.loc[:,'Release period'],errors='coerce')
|
|
df.loc[:,'Real ETA period']=pd.to_datetime(df.loc[:,'Real ETA period'],errors='coerce')
|
|
|
|
df.loc[:,'ETA period']=(df.loc[:,'ETA period']-df.loc[:,'Date']).dt.days
|
|
df.loc[:,'Delivery period']=(df.loc[:,'Delivery period']-df.loc[:,'Date']).dt.days
|
|
df.loc[:,'Unstuffing period']=(df.loc[:,'Unstuffing period']-df.loc[:,'Date']).dt.days
|
|
df.loc[:,'Release period']=(df.loc[:,'Release period']-df.loc[:,'Date']).dt.days
|
|
df.loc[:,'Real ETA period']=(df.loc[:,'Real ETA period']-df.loc[:,'Date']).dt.days
|
|
|
|
def remove_outlier(column):
|
|
q1=column.quantile(0.25)
|
|
q3=column.quantile(0.75)
|
|
gap=q3-q1
|
|
lower_border=q1-gap*1.5
|
|
upper_border=q3+gap*1.5
|
|
column.mask(column<lower_border, inplace=True)
|
|
column.mask(column>upper_border, inplace=True)
|
|
|
|
for i in df.columns:
|
|
remove_outlier(df.loc[:,i])
|
|
|
|
df=pd.melt(df, 'Date')
|
|
|
|
df.sort_values(by=['Date'],inplace=True)
|
|
|
|
fig = px.line(df, x="Date",y="value",color="variable")
|
|
|
|
layout = html.Div([
|
|
dbc.Row([
|
|
dbc.Col(dcc.Graph(figure=fig))
|
|
])
|
|
])
|
|
|