У меня есть сценарий, в котором я должен найти диапазон всех столбцов в наборе данных, который содержит несколько столбцов с числовым значением, но один столбец имеет строковые значения.Пожалуйста, найдите примеры записей из моего набора данных ниже:
import seaborn as sns
iris = sns.load_dataset('iris')
sepal_length sepal_width petal_length petal_width species
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa
Максимальный и минимальный из этих столбцов даны
sepal_length 7.9
sepal_width 4.4
petal_length 6.9
petal_width 2.5
species virginica
dtype: object
и
sepal_length 4.3
sepal_width 2
petal_length 1
petal_width 0.1
species setosa
dtype: object
...соответственно.Чтобы найти диапазон всех столбцов, я могу использовать следующий код:
iris.max() - iris.min()
Но так как столбец 'видов' имеет строковые значения, приведенный выше код выдает следующую ошибку:
TypeError: unsupported operand type(s) for -: 'str' and 'str'
Если вышеописанная ошибка возникает, я хочу напечатать значение как
"{max string value}" - "{min string value}"
IOW, мой ожидаемый результат будет примерно таким:
sepal_length 3.6
sepal_width 2.4
petal_length 5.9
petal_width 2.4
species virginica - setosa
Как мне решить эту проблемувопрос