human
3-parameter Weibull distribution
We can easily extend the built-in Weibull model (lifelines.WeibullFitter) to include a new location parameter:
$$ H(t) = \left(\frac{t - \theta}{\lambda}\right)^\rho $$
(When $\theta = 0$, this is just the 2-parameter case again). In lifelines custom models, this looks like:"
Please write code following the instructions in jupyter notebook style.

Give me a code to 3-parameter Weibull distribution and the other steps required?
assistant
#Here is code to 3-parameter Weibull distribution and the other steps required.

import autograd.numpy as np
from autograd.scipy.stats import norm

# I'm shifting this to exaggerate the effect 
T_ = T + 10

class ThreeParameterWeibullFitter(ParametricUnivariateFitter):

    _fitted_parameter_names = ["lambda_", "rho_", "theta_"]
    _bounds = [(0, None), (0, None), (0, T.min()-0.001)]

    def _cumulative_hazard(self, params, times):
        lambda_, rho_, theta_ = params
        return ((times - theta_) / lambda_) ** rho_

tpw = ThreeParameterWeibullFitter()
tpw.fit(T_, E)
tpw.print_summary()
ax = tpw.plot_cumulative_hazard(figsize=(8,5))
ax = NelsonAalenFitter().fit(T_, E).plot(ax=ax, ci_show=False)