Files
cief-dashboard/apps/test.py
T
shangqian22 b3d3cdba23 added ETA
2020-10-15 16:07:34 +08:00

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))
])
])