I have a code with for loop like below and it ends with some if statements;
def distribution_selection(csv_file=None,product_column=None,demand=None):
out = []
for num in df_all[product_column]:
.
.
.
if best_fit=="norm":
print("Product:",num)
print("Best fit:",best_fit)
print("Likelihood:", likelihoods[best_fit])
print("Parameters:", mean,std)
if best_fit=="nbinom":
print("Product:",num)
print("Best fit:",best_fit)
print("Likelihood:", likelihoods[best_fit])
print("Parameters:", p_nbinom,r_binom)
if best_fit=="poisson":
print("Product:",num)
print("Best fit:",best_fit)
print("Likelihood:", likelihoods[best_fit])
print("Parameters:", lambda_)
And let's say here's the results;
Product: 001.001
Best fit: nbinom
Likelihood: 6.317496035718443e-15
Parameters: 0.002660521439486909 0.41659311972644725
Product: 001.002
Best fit: nbinom
Likelihood: 5.902081129467898e-18
Parameters: 0.005335820123825622 0.7249662663271113
Product: 001.003
Best fit: nbinom
Likelihood: 2.871871246304317e-13
Parameters: 0.00743701201046538 0.45081292375812926
Product: 001.004
Best fit: poisson
Likelihood: 0.0002870492567273848
Parameters: 15.333333333333334
How can I make print output dataframe as follows? Could you please help me about this?
Products BestFit Likelihood ParameterA ParameterB
001.001 nbinom 6.317496035718443e-15 0.002660521439486909 0.41659311972644725
001.002 nbinom 5.902081129467898e-18 0.005335820123825622 0.7249662663271113
001.003 nbinom 2.871871246304317e-13 0.00743701201046538 0.45081292375812926
001.004 poisson 0.0002870492567273848 15.333333333333334 NA