# função mais_proximos de n usuarios
def mais_proximos_de(x_id, n = None):
distancias = distancia_de_todos(x_id, n = n)
distancias = distancias.sort_values("distancia")
distancias = distancias.set_index("n_id").drop(x_id)
return distancias
def distancia_de_todos(x_id, n = None):
todos_os_usuarios = notas['usuarioid'].unique()
if n:
todos_os_usuarios = todos_os_usuarios[:n]
distancias = [distancia_de_usuarios(x_id, usuario_id) for usuario_id in todos_os_usuarios]
distancias = pd.DataFrame(distancias, columns = ["x_id", "n_id", "distancia"])
return distancias
Quando coloco
mais_proximos (1, n = 50)
Aparece o seguinte erro:
TypeError Traceback (most recent call last)
<ipython-input-66-3c237cbb257d> in <module>()
1
----> 2 mais_proximos(1, n = 50)
4 frames
/usr/local/lib/python3.6/dist-packages/pandas/core/internals/construction.py in _list_to_arrays(data, columns, coerce_float, dtype)
559 else:
560 # list of lists
--> 561 content = list(lib.to_object_array(data).T)
562 # gh-26429 do not raise user-facing AssertionError
563 try:
pandas/_libs/lib.pyx in pandas._libs.lib.to_object_array()
TypeError: object of type 'NoneType' has no len()
Gostaria de saber o que esta errado e como resolver