Función máxima en python que devuelve resultados erróneos

Estoy tratando de encontrar el máximo y el mínimo en un conjunto de números de un archivo CSV. Mi código sigue devolviendo el número incorrecto para la función Max para algunas filas. Aquí está mi código:

with open('Cortex_vs_Liver_trial.csv', newline='') as infile: reader = csv.reader(infile) for row in reader: print(row) print('The maximun is:', max(row)) print('The minimum is:', min(row)) 

Un ejemplo de mi salida:

 ['86.21', '100.00', '96.30'] The maximun is: 96.30 The minimum is: 100.00 

No estoy seguro de lo que he hecho mal. Algunos consejos serían apreciados.

Los elementos de tu lista son cadenas. Debe convertirlos a float para evitar comparar lexicográficamente (alfabéticamente, un carácter a la vez, donde '100' < '2' porque 1 < 2 )

 numrow = [float(x) for x in row] print('The maximun is:', max(numrow)) print('The minimum is:', min(numrow)) 

A menos que realmente desee cadenas, en cuyo caso no haga la nueva lista, y simplemente pase la key=float a su función max() :

 max(numrow, key=float)