Learn practical skills, build real-world projects, and advance your career
Created 4 years ago
Analysis of Digitraffic Agent Estimates
Preparing the Data
#!pip install jovian
import jovian
jovian.commit(filename="Digitraffic_error_estimates_statistical_analyses.ipynb",files=["all_estimates.csv","arima_utils.py"],privacy="private",environment="pip")
[jovian] Attempting to save notebook..
from arima_utils import *
import pandas as pd
import functools
import numpy as np
def conjunction(*conditions):
return functools.reduce(np.logical_and, conditions)
import seaborn as sns
import os
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
all_estimates = pd.read_csv("all_estimates.csv").drop("Unnamed: 0",axis=1)
df = all_estimates
exc = 0
try:
df.etd0 = pd.to_datetime(df.etd0)
except:
print("Couldn't convert etd0 to datetime")
try:
df["etd0"] = df["etd0"].astype('datetime64[ns]')
except:
print("Cannot convert etd0 to timestamp 2!")
exc = 3
try:
df.ata0 = pd.to_datetime(df.ata0)
except:
print("Couldn't convert ata0 to datetime")
try:
df["ata0"] = df["ata0"].astype('datetime64[ns]')
except:
print("Cannot convert ata0 to timestamp 2!")
exc = 3
try:
df.atd0 = pd.to_datetime(df.atd0)
except:
print("Couldn't convert atd0 to datetime")
try:
df["atd0"] = df["atd0"].astype('datetime64[ns]')
except:
exc = 2
if exc != 1:
df.insert(0, 'true_minus_agent', (df.atd0 - df.etd0) / pd.Timedelta(
'1 hour')) # pd.to_datetime(df.arrival_date).dt.date
cond1 = df.etd0.dt.year > 2018
cond2 = df.true_minus_agent < 10000
#
df = df[conjunction(cond1,cond2)]
df2 = df.set_index("etd0",inplace=False)
#sns.lineplot(x="etd0",y="moving_avg2",data=df,ci=None)
Couldn't convert ata0 to datetime
Cannot convert ata0 to timestamp 2!
Visualizations
Trying Combined Plot with Double Y Axis : Too complicated?
fig, ax = plt.subplots(figsize=(18,14))
sns.scatterplot(x="etd0",y="true_minus_agent",data=df,ci=None,hue="nationality",ax=ax,alpha=0.7)
ax2 = ax.twinx()
sns.lineplot(x="etd0",y="true_minus_agent",data=df,ci=None,hue="vesseltypecode",ax=ax2,alpha=0.7)
plt.show()