Pessoal no projeto do curso de machine learning em determinada parte é solicitado para que criemos uma função que recebe uma serie de dados e um p que indica o quantil.
Essa função tem de retornar uma nova serie com os valores 0 e 1, aonde 0 é pra quem estava a baixo do quantil e 1 pra quem estava acima.
Sendo assim meu codigo ficou da seguente forma:
def top_p(serie, p = 0.75):
quant = np.quantile(serie, p)
print("quantile encontrado", quant)
y = pd.Series()
for i in serie:
if serie[i-1] > quant:
y = y.append(pd.Series([1]))
else:
y = y.append(pd.Series([0]))
return y
A serie de dados que é utilizada para testar essa função é a seguinte:
pd.Series([1, 2, 3, 4, 5, 6, 7 , 8, 9, 10])
Até ai o código funciona perfeitamente, mas caso um desses valores deixe de ser um valor inteiro, por exemplo:
pd.Series([1, 2, 3.4, 4, 5, 6, 7 , 8, 9, 10])
E o codigo deixa funcionar. Os dados reais que eu tenho de utilizar nessa função não são dados inteiros e não estou conseguindo encontrar solução para o problema.