Determinar parâmetros Weibull a partir de dados

Eu gostaria de identificar oParâmetros Weibull (ou seja, a forma e a escala) dos meus dados.

0.022988506
0.114942529
0.218390805
0.114942529
0.149425287
0.114942529
0.068965517
0.068965517
0.034482759
0.022988506
0.022988506
0.022988506
0.022988506

Eu já tentei o queesta resposta proposto e estou usando o Python 3.4.

import scipy.stats as s
import numpy as np
from scipy import stats


def weib(x,n,a):
    return (a / n) * (x / n)**(a - 1) * np.exp(-(x / n)**a)


data = np.loadtxt("data1.csv")
print(data)
(loc, scale) = s.exponweib.fit_loc_scale(data, 1, 1)
print('loc is: ',loc, '\n scale is: ', scale)

Isso me dá a seguinte saída:

[0.02298851  0.11494253  0.2183908   0.11494253  0.14942529  0.11494253   0.06896552  0.06896552  0.03448276  0.02298851  0.02298851  0.02298851 0.02298851]
loc is:  0.0574417296258 
scale is:  0.0179259738449

Suponho que os dados no meu arquivo csv foram lidos como valores de entrada x, em vez dos valores y da função Weibull. Quando adiciono uma segunda coluna (ou linha) com bin, ocorre um erro de que os valores de sequência não podem ser convertidos em flutuadores.

Como preciso modificar meu arquivo csv para usar os dados como valores y da função Weibull?

Eu acho que meu problema pode ser que eu não entendo essa linha:

(loc, scale) = s.exponweib.fit_loc_scale(data, 1, 1)

O que1, 1 representa aqui? Os parâmetros não devem ser negativos.

questionAnswers(1)

yourAnswerToTheQuestion