Поскольку теперь вы получаете другую ошибку, я дам второй ответ.
Эта ошибка означает, что две переменные в вашем вычитании являются строками, а не числами.
In [1]: 5 - 3
Out[1]: 2
In [2]: '5' - '3'
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-4ef7506473f1> in <module>
----> 1 '5' - '3'
TypeError: unsupported operand type(s) for -: 'str' and 'str'
Это потому, что читатель CSV предполагает, что все является строкой. Вам необходимо преобразовать его в числа с плавающей точкой, например, изменив load_csv
на что-то вроде dataset.append(list(map(float, row)))
вместо существующего оператора добавления.
Мин-макс не терпит неудачу, потому что мин и макс Python работают и со строками:
In [3]: min('f', 'o', 'o', 'b', 'a', 'r')
Out[3]: 'a'
Однако, возможно, он дает вам неправильные ответы:
In [4]: min('2.0', '10.0')
Out[4]: '10.0'
Кстати, если вы много делаете в этом направлении, вы, вероятно, выиграете от использования пакета Pandas вместо того, чтобы свернуть свой собственный.