Ошибка значения: метод hist требует числовых столбцов, ничего для построения

#python #matplotlib #machine-learning

Вопрос:

Я проходил обучение, но когда я запускал код в среде IDE, произошла ошибка. Ссылка на учебник находится здесь: https://thecleverprogrammer.com/2020/12/29/house-price-prediction-with-python/. Это код, который у меня есть до сих пор: Первая ячейка:

 import pandas as pd
url = "https://raw.githubusercontent.com/ageron/handson-ml/master/datasets/housing/housing.csv"
names = ['longitude','latitude','housing_median_age','total_rooms','total_bedrooms',         'population','households','median_income','median_house_value','ocean_proximity']
housing = pd.read_csv(url, names=names)
housing.head()
 

Вторая ячейка:

 housing.info()
 

Третья ячейка:

 housing.ocean_proximity.value_counts()
 

Четвертая ячейка:

 import matplotlib.pyplot as plt
housing.hist(bins=50,figsize=(10, 8))
plt.show()
 

Во второй строке четвертой ячейки у меня ошибка. Как указано в названии, компилятор говорит ValueError: hist method requires numerical columns, nothing to plot. , почему это так?

Комментарии:

1. Когда вы используете pd.read_csv этот способ, в фрейме данных нет информации о типах данных. Вам нужно будет использовать аргумент dtype ключевого слова и указать типы данных вручную.

2. Хорошо, спасибо. Я пытался сделать что-то вроде housing = pd.read_csv(url, names=names, dtype={'longitude':float}) . Он все еще говорит, что есть ошибка (он говорит could not convert string to float: 'longitude' ). Я не думаю, что мне нужно это объяснять, но как бы я не включил название и только цифры под ним?

3. Используйте аргумент header ключевого слова. Я полагаю header=0 , что первая строка указывает на заголовки столбцов.