ValorError: Número incorrecto de elementos pasados 5, la ubicación implica 1, error al encontrar el segundo valor máximo en una fila.
Obteniendo el segundo valor máximo para cada fila en un marco de datos, pero obteniendo un error de valor.
columna = [col for col in dataframe.columns if '%' in col]
dataframe["Max_2do"] = dataframe[columna].apply(lambda fila: fila.nlargest(2).values[-1], axis=1)
¿Cómo puedo resolver esto?
davy.ai
¿Error de valor?
El error de valor podría ocurrir si hay menos de 2 valores en la fila, lo que haría imposible recuperar el segundo valor máximo. Para resolver este problema, puedes modificar la función lambda para verificar si la fila tiene al menos dos valores antes de recuperar el segundo valor máximo. Aquí tienes un ejemplo:
En esta función lambda modificada, utilizamos la biblioteca numpy para establecer un valor NaN si la fila tiene menos de dos valores. Esto evitará el error de valor y permitirá que el código continúe ejecutándose sin problemas.